@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";.sl-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sl-space-2);font-family:var(--sl-font-body);font-weight:var(--sl-font-medium);border:1px solid transparent;border-radius:var(--sl-radius-md);cursor:pointer;transition:all var(--sl-transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none}.sl-btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--sl-bg-primary),0 0 0 4px var(--sl-accent)}.sl-btn:disabled{opacity:.5;cursor:not-allowed}.sl-btn--sm{height:28px;padding:0 var(--sl-space-3);font-size:var(--sl-text-xs)}.sl-btn--md{height:36px;padding:0 var(--sl-space-4);font-size:var(--sl-text-sm)}.sl-btn--lg{height:44px;padding:0 var(--sl-space-6);font-size:var(--sl-text-base)}.sl-btn--primary{background-color:var(--sl-accent);color:var(--sl-bg-primary)}.sl-btn--primary:hover:not(:disabled){background-color:var(--sl-accent-hover)}.sl-btn--primary:active:not(:disabled){background-color:var(--sl-accent-active)}.sl-btn--secondary{background-color:transparent;border-color:var(--sl-accent);color:var(--sl-accent)}.sl-btn--secondary:hover:not(:disabled){background-color:var(--sl-accent-muted)}.sl-btn--secondary:active:not(:disabled){background-color:var(--sl-accent);color:var(--sl-bg-primary)}.sl-btn--ghost{background-color:transparent;border-color:var(--sl-border);color:var(--sl-text-secondary)}.sl-btn--ghost:hover:not(:disabled){background-color:var(--sl-bg-hover);border-color:var(--sl-border-hover);color:var(--sl-text-primary)}.sl-btn--ghost:active:not(:disabled){background-color:var(--sl-bg-active)}.sl-btn--danger{background-color:var(--sl-error);color:#fff}.sl-btn--danger:hover:not(:disabled){background-color:#dc2626}.sl-btn--danger:active:not(:disabled){background-color:#b91c1c}.sl-btn--success{background-color:var(--sl-success);color:#fff}.sl-btn--success:hover:not(:disabled){background-color:#16a34a}.sl-btn--success:active:not(:disabled){background-color:#15803d}.sl-btn--warning{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff}.sl-btn--warning:hover:not(:disabled){background:linear-gradient(135deg,#ea580c,#c2410c)}.sl-btn--warning:active:not(:disabled){background:linear-gradient(135deg,#c2410c,#9a3412)}.sl-btn--accent{background-color:#3b82f6;color:#fff}.sl-btn--accent:hover:not(:disabled){background-color:#2563eb}.sl-btn--accent:active:not(:disabled){background-color:#1d4ed8}.sl-btn--full{width:100%}.sl-btn--loading{position:relative;color:transparent!important}.sl-btn__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.sl-btn__icon svg{width:1em;height:1em}.sl-btn__text{flex-shrink:0}.sl-btn__spinner{position:absolute;width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:sl-btn-spin .6s linear infinite}@keyframes sl-btn-spin{to{transform:rotate(360deg)}}.sl-btn--loading .sl-btn__spinner{color:inherit}.sl-btn--primary.sl-btn--loading .sl-btn__spinner{color:var(--sl-bg-primary)}.sl-btn--danger.sl-btn--loading .sl-btn__spinner,.sl-btn--success.sl-btn--loading .sl-btn__spinner{color:#fff}.sl-modal__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--sl-z-modal-backdrop);display:flex;align-items:center;justify-content:center;padding:var(--sl-space-4);background-color:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:sl-modal-backdrop-in .2s ease-out}@keyframes sl-modal-backdrop-in{0%{opacity:0}to{opacity:1}}.sl-modal{display:flex;flex-direction:column;max-height:calc(100vh - var(--sl-space-8));background-color:var(--sl-bg-elevated);border:1px solid var(--sl-border);border-radius:var(--sl-radius-xl);box-shadow:var(--sl-shadow-xl);animation:sl-modal-slide-in .25s var(--sl-transition-spring);overflow:hidden}@keyframes sl-modal-slide-in{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.sl-modal--sm{width:100%;max-width:400px}.sl-modal--md{width:100%;max-width:540px}.sl-modal--lg{width:100%;max-width:720px}.sl-modal--xl{width:100%;max-width:960px}.sl-modal--full{width:calc(100vw - var(--sl-space-8));height:calc(100vh - var(--sl-space-8));max-width:none;max-height:none}.sl-modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--sl-space-4) var(--sl-space-5);border-bottom:1px solid var(--sl-border);flex-shrink:0}.sl-modal__title{font-family:var(--sl-font-heading);font-size:var(--sl-text-lg);font-weight:var(--sl-font-semibold);color:var(--sl-text-primary);margin:0}.sl-modal__close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin:calc(var(--sl-space-2) * -1);background:transparent;border:none;border-radius:var(--sl-radius-md);color:var(--sl-text-secondary);cursor:pointer;transition:all var(--sl-transition-fast)}.sl-modal__close:hover{background-color:var(--sl-bg-hover);color:var(--sl-text-primary)}.sl-modal__close:focus-visible{outline:none;box-shadow:0 0 0 2px var(--sl-accent)}.sl-modal__body{flex:1;padding:var(--sl-space-5);overflow-y:auto}.sl-modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--sl-space-3);padding:var(--sl-space-4) var(--sl-space-5);border-top:1px solid var(--sl-border);background-color:var(--sl-bg-tertiary);flex-shrink:0}.sl-panel{display:flex;flex-direction:column;background-color:var(--bg-card);border-radius:var(--r-card);box-shadow:var(--shadow-card);overflow:hidden;transition:transform .15s var(--ease-out),box-shadow .15s var(--ease-out)}.sl-panel--draggable{box-shadow:var(--shadow-card);z-index:var(--sl-z-sticky)}.sl-panel--dragging{box-shadow:var(--shadow-lg);opacity:.96}.sl-panel__header{display:flex;align-items:center;justify-content:space-between;padding:14px var(--card-pad);background-color:var(--bg-card);flex-shrink:0}.sl-panel--collapsed .sl-panel__header{border-bottom:none}.sl-panel--draggable .sl-panel__header{cursor:grab}.sl-panel--dragging .sl-panel__header{cursor:grabbing}.sl-panel__title{font-family:var(--font-main);font-size:var(--sl-text-xs);font-weight:var(--sl-font-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.07em;margin:0;-webkit-user-select:none;user-select:none}.sl-panel__actions{display:flex;align-items:center;gap:var(--sl-space-2)}.sl-panel__toggle{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:none;border-radius:var(--r-sm);color:var(--text-muted);cursor:pointer;transition:all var(--sl-transition-fast)}.sl-panel__toggle:hover{background-color:var(--gray-100);color:var(--text-main)}.sl-panel__toggle:focus-visible{outline:2px solid var(--primary-blue);outline-offset:2px}.sl-panel__toggle-icon{transition:transform var(--sl-transition-fast)}.sl-panel__toggle-icon--collapsed{transform:rotate(-90deg)}.sl-panel__content{flex:1;padding:var(--card-pad);overflow-y:auto}.sl-panel--flush .sl-panel__content{padding:0}.sl-panel-section{margin-bottom:var(--sl-space-4);padding-bottom:var(--sl-space-4);border-bottom:1px solid var(--sl-divider)}.sl-panel-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.sl-panel-section__title{font-size:var(--sl-text-xs);font-weight:var(--sl-font-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--sl-space-3)}.sl-panel-buttons{display:flex;flex-wrap:wrap;gap:var(--sl-space-2)}.sl-panel-buttons--grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sl-space-2)}.sl-panel-buttons--stack{flex-direction:column}.mgp{font-size:12px}.mgp__row{display:flex;align-items:center;gap:6px;margin-bottom:6px}.mgp__label{color:var(--sl-text-muted, #9ca3af);min-width:50px;font-size:11px}.mgp__input{width:60px;padding:3px 6px;background:var(--sl-bg-tertiary);border:1px solid var(--sl-border);border-radius:var(--sl-radius-sm, 4px);color:var(--sl-text-primary, #e5e7eb);font-size:11px;text-align:center}.mgp__input:focus{border-color:var(--sl-accent, #13d6c6);outline:none}.mgp__unit,.mgp__separator{color:var(--sl-text-muted, #9ca3af);font-size:10px}.mgp__seg{display:inline-flex;border:1px solid var(--sl-border);border-radius:var(--sl-radius-sm, 4px);overflow:hidden}.mgp__seg-btn{padding:3px 10px;background:transparent;border:none;color:var(--sl-text-muted, #9ca3af);font-size:11px;cursor:pointer;transition:background .15s,color .15s}.mgp__seg-btn--active{background:#13d6c626;color:var(--sl-accent, #13d6c6)}.mgp__seg-btn+.mgp__seg-btn{border-left:1px solid var(--sl-border)}.mgp__select{padding:3px 6px;background:var(--sl-bg-tertiary);border:1px solid var(--sl-border);border-radius:var(--sl-radius-sm, 4px);color:var(--sl-text-primary, #e5e7eb);font-size:11px;cursor:pointer}.mgp__check{display:flex;align-items:center;gap:5px;cursor:pointer;font-size:11px;color:var(--sl-text-muted, #9ca3af)}.mgp__check input[type=checkbox]{accent-color:var(--sl-accent, #13d6c6)}.mgp__slider{flex:1;height:3px;accent-color:var(--sl-accent, #13d6c6)}.mgp__hint{font-size:10px;color:var(--sl-text-muted, #9ca3af);margin-top:2px;font-style:italic}.mgp__preview{margin-top:6px;padding:8px 10px;background:var(--sl-bg-tertiary);border:1px solid var(--sl-border);border-radius:var(--sl-radius-sm, 4px);font-family:monospace;font-size:11px;color:var(--sl-text-primary, #e5e7eb)}.mgp__preview-row{display:flex;gap:2px}.mgp__preview-cell{flex:1;display:inline-flex;align-items:center;justify-content:center;height:20px;border-radius:3px;font-size:10px;font-weight:700}.mgp__preview-arrow{color:var(--sl-text, #e5e7eb);font-size:12px;font-weight:700;margin:0 2px;align-self:center}.mgp__preview-legend{font-size:10px;font-weight:600;color:var(--sl-text-muted, #9ca3af)}.mgp__enable-btn{width:100%;padding:6px 12px;background:#13d6c61a;border:1px dashed rgba(19,214,198,.3);border-radius:4px;color:var(--sl-accent, #13d6c6);font-size:11px;cursor:pointer;transition:background .15s}.mgp__enable-btn:hover{background:#13d6c62e}.mgp__remove-btn{padding:2px 8px;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:3px;color:#ef4444;font-size:10px;cursor:pointer}.mgp__remove-btn:hover{background:#ef444433}.lsp{display:flex;flex-direction:column;gap:8px}.lsp__row{display:flex;flex-direction:column;gap:2px}.lsp__label{font-size:var(--sl-text-xs, 11px);color:var(--sl-text-muted, #9ca3af)}.lsp__input{background:var(--sl-bg-tertiary);border:1px solid var(--sl-border);border-radius:var(--sl-radius-sm, 4px);padding:4px 8px;font-size:var(--sl-text-sm, 12px);color:var(--sl-text-primary, #e5e7eb);font-family:SF Mono,Fira Code,monospace;outline:none;transition:border-color .15s}.lsp__input:focus{border-color:var(--sl-accent, #13d6c6)}.lsp__charmap{display:flex;flex-wrap:wrap;padding:6px;background:var(--sl-bg-tertiary);border-radius:var(--sl-radius-sm, 4px);border:1px solid var(--sl-border);cursor:text;-webkit-user-select:none;user-select:none;gap:0}.lsp__char{display:inline-flex;align-items:center;justify-content:center;min-width:14px;height:24px;font-size:13px;font-family:SF Mono,Fira Code,monospace;font-weight:600;color:var(--sl-text-muted, #9ca3af);border-bottom:2px solid transparent;cursor:crosshair;transition:background .1s}.lsp__char:hover{background:#ffffff14}.lsp__char--assigned{border-bottom-width:3px;font-weight:700}.lsp__char--dragging{background:#13d6c633!important}.lsp__segments{display:flex;flex-wrap:wrap;gap:4px;align-items:flex-start}.lsp__segment{display:flex;flex-direction:column;align-items:center;gap:4px}.lsp__segment-chip{display:flex;align-items:center;gap:4px;padding:3px 6px;border:1.5px solid;border-radius:var(--sl-radius-sm, 4px);font-size:12px;font-family:SF Mono,Fira Code,monospace;font-weight:600;background:#ffffff0f;white-space:nowrap}.lsp__segment-flex{background:none;border:none;color:inherit;font-size:13px;font-weight:700;line-height:1;cursor:pointer;padding:0 0 0 2px;opacity:.35;transition:opacity .15s,color .15s}.lsp__segment-flex:hover{opacity:.7}.lsp__segment-flex--on{color:var(--sl-accent, #13d6c6);opacity:1}.lsp__segment-flex--on:hover{opacity:.8}.lsp__segment-remove{background:none;border:none;color:inherit;font-size:14px;line-height:1;cursor:pointer;padding:0 0 0 2px;opacity:.5}.lsp__segment-remove:hover{opacity:1}.lsp__segment-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--sl-bg-tertiary);border:1px solid var(--sl-border);border-radius:3px;padding:2px 4px;font-size:10px;color:inherit;cursor:pointer;text-align:center;min-width:52px;outline:none}.lsp__segment-select:hover{border-color:var(--sl-accent, #13d6c6)}.lsp__custom-input-wrap{display:flex}.lsp__custom-input{width:64px;padding:2px 4px;font-size:10px;background:#ffffff1a;border:1px solid var(--sl-accent, #13d6c6);border-radius:3px;color:var(--sl-text, #e5e7eb);outline:none;text-align:center}.lsp__regex{padding:4px 6px;background:var(--sl-bg-tertiary);border:1px solid var(--sl-border);border-radius:3px;overflow-x:auto}.lsp__regex code{font-size:9px;color:var(--sl-text-primary, #e5e7eb);word-break:break-all}.lsp__results{display:flex;flex-direction:column;gap:4px}.lsp__match-count{font-size:11px;color:var(--sl-text-secondary, #9ca3af)}.lsp__match-count strong{color:var(--sl-text-primary, #e5e7eb)}.lsp__samples{display:flex;flex-direction:column;gap:2px;max-height:100px;overflow-y:auto}.lsp__sample{display:flex;flex-direction:column;gap:2px;padding:3px 6px;background:#ffffff08;border-radius:3px;font-size:10px}.lsp__sample-text{color:var(--sl-text, #e5e7eb);font-family:SF Mono,Fira Code,monospace}.lsp__sample-fields{display:flex;gap:4px;flex-wrap:wrap}.lsp__sample-chip{padding:1px 4px;border:1px solid;border-radius:2px;font-size:9px;color:var(--sl-text-muted, #9ca3af)}.lsp__card{border:1px solid var(--sl-border);border-radius:var(--sl-radius-md, 6px);padding:8px;background:var(--sl-bg-tertiary)}.lsp__card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.lsp__card-index{font-size:10px;color:var(--sl-text-muted, #9ca3af);font-weight:600}.lsp__card-remove{background:none;border:none;cursor:pointer;color:#ef4444;font-size:12px;padding:0 2px;opacity:.6;transition:opacity .15s}.lsp__card-remove:hover{opacity:1}.lsp__actions{display:flex;gap:6px}.lsp__btn{flex:1;padding:4px 8px;border:1px solid var(--sl-border);border-radius:var(--sl-radius-sm, 4px);font-size:11px;cursor:pointer;transition:all .15s;background:var(--sl-bg-tertiary);color:var(--sl-text-primary, #e5e7eb)}.lsp__btn:hover:not(:disabled){background:#ffffff1a}.lsp__btn:disabled{opacity:.4;cursor:not-allowed}.lsp__btn--apply{background:#13d6c626;border-color:#13d6c64d;color:var(--sl-accent, #13d6c6)}.lsp__btn--apply:hover:not(:disabled){background:#13d6c640}.lsp__btn--reset{background:#ef44441a;border-color:#ef444433;color:#ef4444;flex:0;white-space:nowrap}.lsp__btn--reset:hover{background:#ef444433}.login-modal{padding:var(--sl-space-2) 0}.login-modal__form{display:flex;flex-direction:column;gap:var(--sl-space-4)}.login-modal__description{font-size:13px;color:var(--text-secondary);line-height:1.5;margin:0}.login-modal__field{display:flex;flex-direction:column;gap:var(--sl-space-1)}.login-modal__label{font-size:12px;font-weight:600;color:var(--text-primary)}.login-modal__input{padding:10px 12px;border:1px solid var(--border-primary, #ddd);border-radius:8px;font-size:14px;font-family:var(--font-main, Inter, sans-serif);background:var(--bg-card, #fff);color:var(--text-primary, #1a1a1a);outline:none;transition:border-color .15s}.login-modal__input:focus{border-color:var(--primary, #2F80FF);box-shadow:0 0 0 3px #2f80ff1a}.login-modal__input::placeholder{color:var(--text-muted, #999)}.login-modal__error{padding:8px 12px;background:#eb575714;border:1px solid rgba(235,87,87,.2);border-radius:8px;font-size:13px;color:var(--red, #EB5757)}.login-modal__logged-in{display:flex;flex-direction:column;gap:var(--sl-space-4)}.login-modal__user-info{display:flex;align-items:center;gap:var(--sl-space-3);padding:var(--sl-space-3);background:var(--bg-main, #F3F5F7);border-radius:12px}.login-modal__avatar{width:40px;height:40px;border-radius:50%;background:var(--primary, #2F80FF);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;flex-shrink:0}.login-modal__email{font-size:14px;font-weight:600;color:var(--text-primary)}.login-modal__role{font-size:12px;color:var(--text-muted);text-transform:capitalize}.pdf-page-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:10000;display:flex;align-items:center;justify-content:center}.pdf-page-modal{background:var(--bg-card, #ffffff);border:1px solid var(--gray-200, #e5e7eb);border-radius:16px;padding:24px;max-width:680px;width:92%;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 6px 20px #0000000f;font-family:var(--font-main, "Inter", sans-serif)}.pdf-page-modal__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.pdf-page-modal__header h3{margin:0;font-size:15px;font-family:var(--font-main, "Inter", sans-serif);font-weight:600;color:var(--text-main, #1c1f23);text-transform:uppercase;letter-spacing:.3px}.pdf-page-modal__close{background:none;border:none;font-size:22px;cursor:pointer;color:var(--text-muted, #9ca3af);padding:0 4px;line-height:1;transition:color .15s}.pdf-page-modal__close:hover{color:var(--red, #eb5757)}.pdf-page-modal__hint{font-size:13px;color:var(--text-muted, #9ca3af);margin-bottom:14px}.pdf-page-grid{flex:1;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;padding:4px;min-height:120px;max-height:55vh}.pdf-page-thumb{display:flex;flex-direction:column;align-items:center;background:var(--gray-50, #f9fafb);border:2px solid var(--gray-200, #e5e7eb);border-radius:10px;padding:8px;cursor:pointer;transition:all .15s}.pdf-page-thumb:hover{border-color:var(--gray-300, #d1d5db);background:var(--bg-card, #ffffff)}.pdf-page-thumb--selected{border-color:var(--primary-blue, #2f80ff);background:#2f80ff0a}.pdf-page-thumb img{max-width:100%;max-height:160px;border-radius:6px;object-fit:contain}.pdf-page-thumb__label{margin-top:6px;font-size:12px;color:var(--text-secondary, #6b7280);font-weight:500}.pdf-page-thumb--selected .pdf-page-thumb__label{color:var(--primary-blue, #2f80ff);font-weight:600}.pdf-page-loading{grid-column:1 / -1;text-align:center;color:var(--text-muted, #9ca3af);font-size:14px;padding:30px 0}.pdf-page-modal__actions{margin-top:16px;display:flex;gap:8px;justify-content:flex-end}.pdf-page-btn{padding:8px 18px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;font-family:var(--font-main, "Inter", sans-serif);transition:all .15s}.pdf-page-btn--cancel{border:1px solid var(--gray-200, #e5e7eb);background:var(--bg-card, #ffffff);color:var(--text-main, #1c1f23)}.pdf-page-btn--cancel:hover{background:var(--gray-50, #f9fafb);border-color:var(--gray-300, #d1d5db)}.pdf-page-btn--apply{border:none;background:var(--primary-blue, #2f80ff);color:#fff}.pdf-page-btn--apply:hover{background:#1a6fff}.pdf-page-btn--apply:disabled{background:var(--gray-200, #e5e7eb);color:var(--text-muted, #9ca3af);cursor:not-allowed}.iv-display-metric-row{display:flex;align-items:center;gap:6px;padding:4px 8px 6px}.iv-display-metric-label{font-size:11px;color:var(--sl-color-neutral-500);white-space:nowrap}.iv-display-metric-select{flex:1;font-size:11px;padding:2px 4px;border:1px solid var(--sl-color-neutral-300);border-radius:4px;background:var(--sl-color-neutral-0);color:var(--sl-color-neutral-900);cursor:pointer}.iv-display-metric-divider{height:1px;background:var(--sl-color-neutral-200);margin:4px 8px}.iv-page{display:flex;height:100vh;background:var(--bg-main);font-family:var(--font-main);color:var(--text-main)}.iv-sidebar{width:320px;min-width:320px;background:var(--bg-card);border-right:1px solid var(--gray-200);display:flex;flex-direction:column;overflow:hidden}.iv-sidebar__header{padding:16px 20px;border-bottom:1px solid var(--gray-200);display:flex;align-items:center;justify-content:space-between;gap:8px}.iv-sidebar__title{font-size:var(--sl-text-lg);font-weight:700}.iv-sidebar__list{flex:1;overflow-y:auto;padding:8px}.iv-session-card{padding:12px;border-radius:var(--r-tile);cursor:pointer;margin-bottom:4px;transition:background .15s}.iv-session-card:hover{background:var(--gray-50)}.iv-session-card--active{background:var(--primary-blue-soft)}.iv-session-card__name{font-size:var(--sl-text-base);font-weight:600;margin-bottom:4px}.iv-session-card__meta{font-size:var(--sl-text-xs);color:var(--text-secondary);display:flex;gap:8px;align-items:center}.iv-session-card__actions{display:flex;gap:4px;margin-top:6px}.iv-badge{display:inline-block;padding:1px 8px;border-radius:var(--r-pill);font-size:var(--sl-text-xs);font-weight:600;text-transform:capitalize}.iv-badge--draft{background:var(--gray-100);color:var(--gray-500)}.iv-badge--imported{background:#dbeafe;color:#1d4ed8}.iv-badge--reviewed{background:#e0e7ff;color:#4338ca}.iv-badge--analyzed{background:#fef3c7;color:#92400e}.iv-badge--reported{background:#d1fae5;color:#065f46}.iv-detail{flex:1;display:flex;flex-direction:column;overflow:hidden}.iv-detail__empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:var(--sl-text-base)}.iv-detail__header{padding:16px 24px;border-bottom:1px solid var(--gray-200);background:var(--bg-card)}.iv-detail__header-row{display:flex;align-items:center;gap:12px;margin-bottom:4px}.iv-detail__name{font-size:var(--sl-text-xl);font-weight:700}.iv-detail__meta{font-size:var(--sl-text-xs);color:var(--text-secondary);display:flex;gap:16px}.iv-detail__file-meta{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:8px;padding:6px 10px;background:var(--bg-base, var(--gray-50));border:1px solid var(--gray-200);border-radius:6px}.iv-detail__file-meta-item{display:flex;align-items:center;gap:4px;font-size:var(--sl-text-xs)}.iv-detail__file-meta-key{color:var(--text-muted);text-transform:capitalize}.iv-detail__file-meta-val{font-weight:600;color:var(--text-main);font-family:var(--font-mono)}.iv-tabs{display:flex;border-bottom:1px solid var(--gray-200);background:var(--bg-card);padding:0 24px}.iv-tab{padding:10px 16px;font-size:var(--sl-text-sm);font-weight:500;color:var(--text-secondary);cursor:pointer;border:none;background:none;border-bottom:2px solid transparent;transition:all .15s}.iv-tab:hover{color:var(--text-main)}.iv-tab--active{color:var(--primary-blue);border-bottom-color:var(--primary-blue);font-weight:600}.iv-tab-content{flex:1;overflow-y:auto;padding:20px 24px}.iv-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:var(--r-sm);font-size:var(--sl-text-sm);font-weight:500;cursor:pointer;border:1px solid var(--gray-200);background:var(--bg-card);color:var(--text-main);transition:all .15s}.iv-btn:hover{background:var(--gray-50)}.iv-btn:disabled{opacity:.5;cursor:not-allowed}.iv-btn--primary{background:var(--primary-blue);color:#fff;border-color:var(--primary-blue)}.iv-btn--primary:hover{opacity:.9;background:var(--primary-blue)}.iv-btn--danger{color:var(--red);border-color:var(--red)}.iv-btn--danger:hover{background:#fef2f2}.iv-btn--sm{padding:4px 10px;font-size:var(--sl-text-xs)}.iv-btn--active{background:var(--primary-blue);color:#fff;border-color:var(--primary-blue)}.iv-btn--active:hover{background:var(--primary-blue-dark, var(--primary-blue))}.iv-form-group{margin-bottom:12px}.iv-form-group label{display:block;font-size:var(--sl-text-xs);font-weight:600;color:var(--text-secondary);margin-bottom:4px;text-transform:uppercase}.iv-input{width:100%;padding:8px 10px;border:1px solid var(--gray-200);border-radius:var(--r-sm);font-size:var(--sl-text-base);font-family:var(--font-main);background:var(--bg-card);color:var(--text-main)}.iv-input:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 2px var(--primary-blue-soft)}.iv-select{width:100%;padding:8px 10px;border:1px solid var(--gray-200);border-radius:var(--r-sm);font-size:var(--sl-text-base);font-family:var(--font-main);background:var(--bg-card);color:var(--text-main)}.iv-table-wrap{overflow-x:auto}.iv-table{width:100%;border-collapse:collapse;font-size:var(--sl-text-sm)}.iv-table th{position:relative;text-align:left;padding:8px 10px;font-weight:600;font-size:var(--sl-text-xs);text-transform:uppercase;color:var(--text-secondary);border-bottom:2px solid var(--gray-200);white-space:nowrap}.iv-table td{padding:6px 10px;border-bottom:1px solid var(--gray-100);vertical-align:middle}.iv-table tr:hover td{background:var(--gray-50)}.iv-table tr.iv-table__row--excluded td{opacity:.45}.iv-table td input[type=checkbox]{cursor:pointer}.iv-table td .iv-inline-input{width:80px;padding:2px 4px;border:1px solid transparent;border-radius:3px;font-size:var(--sl-text-sm);font-family:var(--font-mono);background:transparent;color:var(--text-main)}.iv-table td .iv-inline-input:focus{border-color:var(--primary-blue);background:var(--bg-card);outline:none}.iv-table__footer{padding:8px 10px;font-size:var(--sl-text-xs);color:var(--text-secondary)}.iv-table--compact{font-size:11px;width:auto;min-width:100%}.iv-table--compact th{padding:5px 4px;font-size:9px}.iv-table--compact td{padding:3px 4px}.iv-table--compact td .iv-inline-input{width:52px;font-size:10px}.iv-table--compact td input[type=checkbox]{width:13px;height:13px}.iv-table--compact td span[title]:not(.iv-result-badge){max-width:80px;overflow:hidden;text-overflow:ellipsis;display:inline-block}.iv-table tr.iv-table__row--selected td{background:color-mix(in srgb,var(--primary-blue) 7%,transparent)}.iv-table tr.iv-table__row--selected:hover td{background:color-mix(in srgb,var(--primary-blue) 12%,transparent)}.iv-bulk-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 12px;margin-bottom:8px;background:color-mix(in srgb,var(--primary-blue) 8%,var(--bg-card));border:1px solid color-mix(in srgb,var(--primary-blue) 30%,transparent);border-radius:7px;font-size:var(--sl-text-sm)}.iv-bulk-bar__count{font-weight:700;color:var(--primary-blue);margin-right:2px}.iv-bulk-bar__sep{width:1px;height:18px;background:var(--gray-200);margin:0 4px}.iv-bulk-bar__label{font-size:var(--sl-text-xs);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.iv-bulk-bar__field{display:flex;align-items:center;gap:4px}.iv-bulk-bar__field-label{font-size:10px;font-weight:700;color:var(--text-muted);text-transform:uppercase;width:18px;flex-shrink:0}.iv-bulk-bar__input{width:110px!important;padding:4px 6px!important;font-size:var(--sl-text-xs)!important}.iv-bulk-bar__clear-field{border:none;background:none;cursor:pointer;font-size:14px;line-height:1;color:var(--text-muted);padding:0 2px;opacity:.6}.iv-bulk-bar__clear-field:hover{opacity:1;color:var(--red)}.iv-col-header{display:inline-flex;align-items:center;gap:2px;white-space:nowrap}.iv-col-header__label{cursor:pointer;-webkit-user-select:none;user-select:none}.iv-col-header__label:hover{color:var(--text-main)}.iv-sort-arrow{color:var(--primary-blue);font-weight:400}.iv-filter-btn{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:none;background:none;cursor:pointer;color:var(--text-muted);font-size:10px;line-height:1;border-radius:2px;opacity:0;transition:opacity .12s,color .12s;flex-shrink:0}.iv-col-header:hover .iv-filter-btn{opacity:.6}.iv-filter-btn:hover,.iv-filter-btn--active{opacity:1!important;color:var(--primary-blue)}.iv-filter-popover{background:var(--bg-card);border:1px solid var(--border-color);border-radius:6px;padding:8px;min-width:140px;max-width:240px;box-shadow:0 4px 16px #0000002e;font-size:var(--sl-text-sm);font-weight:400;text-transform:none;color:var(--text-main);white-space:normal;letter-spacing:0}.iv-filter-popover__title{font-size:var(--sl-text-xs);color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.iv-filter-popover__header{display:flex;gap:4px;margin-bottom:6px}.iv-filter-popover__values{display:flex;flex-direction:column;gap:1px;max-height:180px;overflow-y:auto;margin-bottom:6px}.iv-filter-option{display:flex;align-items:center;gap:6px;cursor:pointer;padding:3px 4px;border-radius:3px;font-size:var(--sl-text-xs);font-weight:400;color:var(--text-main);text-transform:none;white-space:nowrap}.iv-filter-option:hover{background:var(--gray-50)}.iv-filter-option input[type=checkbox]{cursor:pointer;flex-shrink:0}.iv-wizard-step{margin-bottom:20px}.iv-wizard-step__title{font-size:var(--sl-text-base);font-weight:600;margin-bottom:8px}.iv-stored-files{margin-bottom:12px;border:1px solid var(--gray-200);border-radius:var(--r-card);overflow:hidden}.iv-stored-files__title{font-size:var(--sl-text-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;padding:6px 12px;background:var(--bg-secondary);border-bottom:1px solid var(--gray-200)}.iv-stored-file-card{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-bottom:1px solid var(--gray-100)}.iv-stored-file-card:last-child{border-bottom:none}.iv-stored-file-card--history{opacity:.8}.iv-stored-file-card__body{display:flex;align-items:center;gap:8px;min-width:0}.iv-stored-file-card__icon{font-size:16px;flex-shrink:0}.iv-stored-file-card__name{font-size:var(--sl-text-sm);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px}.iv-stored-file-card__meta{font-size:var(--sl-text-xs);color:var(--text-muted)}.iv-sheet-checklist{display:flex;flex-direction:column;gap:4px;margin-top:4px}.iv-sheet-check{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:4px;cursor:pointer;font-size:var(--sl-text-sm);background:var(--bg-secondary);border:1px solid transparent;transition:border-color .15s}.iv-sheet-check:hover{border-color:var(--border-color)}.iv-sheet-check input[type=checkbox]{cursor:pointer;flex-shrink:0}.iv-sheet-check--dim{opacity:.55}.iv-sheet-check__name{font-weight:500;flex:1}.iv-sheet-check__count{font-size:var(--sl-text-xs);color:var(--text-muted);background:var(--bg-card);border:1px solid var(--gray-200);border-radius:10px;padding:1px 7px}.iv-sheet-check__note{font-size:var(--sl-text-xs);color:var(--text-muted);font-style:italic}.iv-sheet-file-group{display:flex;flex-direction:column;gap:3px}.iv-sheet-file-group+.iv-sheet-file-group{margin-top:6px;padding-top:6px;border-top:1px solid var(--gray-200)}.iv-sheet-file-label{font-size:var(--sl-text-xs);font-weight:600;color:var(--text-muted);padding:2px 4px;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.iv-sheet-add-more{margin-top:6px;background:none;border:1px dashed var(--border-color, #d1d5db);border-radius:4px;padding:5px 10px;font-size:var(--sl-text-xs);color:var(--text-muted);cursor:pointer;text-align:center;transition:border-color .15s,color .15s}.iv-sheet-add-more:hover:not(:disabled){border-color:var(--blue);color:var(--blue)}.iv-sheet-add-more:disabled{opacity:.5;cursor:default}.iv-file-drop{border:2px dashed var(--gray-200);border-radius:var(--r-card);padding:32px;text-align:center;cursor:pointer;transition:all .15s}.iv-file-drop:hover{border-color:var(--primary-blue);background:var(--primary-blue-soft)}.iv-mapping-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.iv-preview-table{max-height:300px;overflow-y:auto;border:1px solid var(--gray-200);border-radius:var(--r-sm)}.iv-findings-group{margin-bottom:16px}.iv-findings-group__title{font-size:var(--sl-text-sm);font-weight:700;text-transform:uppercase;margin-bottom:6px;display:flex;align-items:center;gap:6px}.iv-finding-card{border-left:3px solid;padding:8px 12px;margin-bottom:6px;background:var(--gray-50);border-radius:0 var(--r-sm) var(--r-sm) 0}.iv-finding-card--critical{border-color:var(--red)}.iv-finding-card--warning{border-color:var(--orange)}.iv-finding-card--info{border-color:var(--primary-blue)}.iv-finding-card__title{font-size:var(--sl-text-sm);font-weight:600;margin-bottom:2px}.iv-finding-card__desc{font-size:var(--sl-text-xs);color:var(--text-secondary)}.iv-finding-card__measurement{font-size:var(--sl-text-xs);color:var(--text-muted);margin-top:2px}.iv-report-preview{background:var(--bg-card);border:1px solid var(--gray-200);border-radius:var(--r-card);overflow:hidden}.iv-report-preview iframe{width:100%;min-height:600px;border:none}.iv-report-list{margin-bottom:16px}.iv-report-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border:1px solid var(--gray-200);border-radius:var(--r-sm);margin-bottom:4px;font-size:var(--sl-text-sm)}.iv-note{background:#fffbeb;border:1px solid #fde68a;border-radius:var(--r-sm);padding:8px 12px;font-size:var(--sl-text-xs);color:#92400e;margin-bottom:12px}.iv-note--info{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}.iv-note--error{background:#fef2f2;border-color:#fecaca;color:#991b1b}.iv-note--success{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.iv-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:var(--sl-z-modal-backdrop);display:flex;align-items:center;justify-content:center}.iv-modal{background:var(--bg-card);border-radius:var(--r-card);padding:24px;width:440px;max-width:90vw;max-height:90vh;overflow-y:auto;z-index:var(--sl-z-modal);box-shadow:0 20px 60px #0003}.iv-modal__title{font-size:var(--sl-text-lg);font-weight:700;margin-bottom:16px}.iv-modal__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.iv-drop-zone{border:2px dashed var(--border-color, #d1d5db);border-radius:8px;padding:36px 24px;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;transition:border-color .15s,background .15s;margin-bottom:8px;text-align:center}.iv-drop-zone:hover,.iv-drop-zone--active{border-color:var(--color-primary, #3b82f6);background:#3b82f60d}.iv-drop-zone__icon{font-size:2rem;line-height:1}.iv-drop-zone__text{font-size:var(--sl-text-sm);font-weight:600;color:var(--text-primary)}.iv-drop-zone__sub{font-size:var(--sl-text-xs);color:var(--text-muted)}.iv-back-link{display:inline-flex;align-items:center;gap:6px;font-size:var(--sl-text-sm);color:var(--text-secondary);text-decoration:none;padding:8px 12px}.iv-back-link:hover{color:var(--primary-blue)}.iv-raw-preview{border:1px solid var(--border-subtle);border-radius:var(--r-sm);overflow:hidden;font-size:var(--sl-text-xs)}.iv-raw-preview__row{display:flex;align-items:center;gap:10px;padding:5px 10px;cursor:pointer;border-bottom:1px solid var(--border-subtle);transition:background .1s}.iv-raw-preview__row:last-child{border-bottom:none}.iv-raw-preview__row:hover{background:var(--bg-hover)}.iv-raw-preview__row--selected{background:color-mix(in srgb,var(--primary-blue) 12%,transparent);outline:2px solid var(--primary-blue);outline-offset:-2px}.iv-raw-preview__num{min-width:44px;font-weight:600;color:var(--text-secondary);flex-shrink:0}.iv-raw-preview__cells{color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.iv-raw-preview__row--selected .iv-raw-preview__num{color:var(--primary-blue)}.iv-panel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.iv-panel-container{position:relative;width:94vw;max-width:1200px;height:90vh;background:var(--bg-main, #fff);border-radius:10px;box-shadow:0 20px 60px #00000040;display:flex;flex-direction:column;overflow:hidden}.iv-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--gray-200);background:var(--bg-card);flex-shrink:0}.iv-panel-header__left{display:flex;align-items:center;gap:10px}.iv-panel-title{font-size:var(--sl-text-lg);font-weight:700;color:var(--text-main)}.iv-panel-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:none;cursor:pointer;border-radius:4px;font-size:20px;line-height:1;color:var(--text-secondary)}.iv-panel-close:hover{background:var(--gray-100);color:var(--text-main)}.iv-panel-body{flex:1;overflow:hidden;display:flex;flex-direction:column}.iv-ticket{display:flex;flex-direction:column;height:100%;overflow:hidden}.iv-ticket__toolbar{padding:10px 12px;border-bottom:1px solid var(--gray-200);flex-shrink:0}.iv-ticket__list{flex:1;overflow-y:auto;padding:6px 8px}.iv-ticket__empty{padding:24px 12px;text-align:center;color:var(--text-muted);font-size:var(--sl-text-sm);line-height:1.5}.iv-session-card__site,.iv-session-card__date{font-size:var(--sl-text-xs);color:var(--text-muted);margin-top:2px}.iv-mapper{display:flex;flex-direction:column;gap:10px}.iv-mapper-mode{display:flex;gap:6px;flex-wrap:wrap}.iv-mapper-header-hint{display:flex;align-items:center;gap:10px;font-size:var(--sl-text-sm);color:var(--text-secondary);flex-wrap:wrap}.iv-mapper-header-picker{width:100%;border:1px solid var(--gray-200);border-radius:var(--r-sm);overflow:hidden;margin-top:4px}.iv-mapper-header-row-item{display:flex;align-items:center;gap:10px;padding:5px 10px;cursor:pointer;border-bottom:1px solid var(--gray-100);transition:background .1s;font-size:var(--sl-text-xs)}.iv-mapper-header-row-item:last-child{border-bottom:none}.iv-mapper-header-row-item:hover{background:var(--gray-50)}.iv-mapper-header-row-item--selected{background:color-mix(in srgb,var(--primary-blue) 10%,transparent);outline:2px solid var(--primary-blue);outline-offset:-2px}.iv-mapper-header-row-num{min-width:42px;font-weight:600;color:var(--text-secondary);flex-shrink:0}.iv-mapper-header-row-item--selected .iv-mapper-header-row-num{color:var(--primary-blue)}.iv-mapper-header-row-preview{color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.iv-mapper-palette{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--r-card);padding:10px 12px;display:flex;flex-direction:column;gap:8px}.iv-mapper-palette-label{font-size:var(--sl-text-xs);color:var(--text-secondary)}.iv-mapper-palette-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.iv-mapper-auto-btn{margin-left:auto}.iv-metric-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--r-pill);font-size:var(--sl-text-xs);font-weight:600;cursor:pointer;border:1.5px solid var(--gray-300);background:var(--bg-card);color:var(--text-secondary);transition:all .15s;white-space:nowrap}.iv-metric-tag:hover{border-color:var(--primary-blue);color:var(--primary-blue);background:var(--primary-blue-soft)}.iv-metric-tag--active{border-color:var(--tag-color, var(--primary-blue))!important;color:var(--tag-color, var(--primary-blue))!important;background:var(--tag-bg, transparent)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--tag-color, var(--primary-blue)) 20%,transparent);animation:iv-tag-pulse 1.4s ease-in-out infinite}@keyframes iv-tag-pulse{0%,to{box-shadow:0 0 0 3px color-mix(in srgb,var(--tag-color, var(--primary-blue)) 20%,transparent)}50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--tag-color, var(--primary-blue)) 10%,transparent)}}.iv-metric-tag--assigned{border-color:var(--tag-color)!important;color:var(--tag-color)!important;background:var(--tag-bg)!important}.iv-metric-tag__label{flex-shrink:0}.iv-metric-tag__col{font-weight:400;opacity:.8;max-width:90px;overflow:hidden;text-overflow:ellipsis}.iv-metric-tag__clear{font-size:14px;line-height:1;opacity:.6;margin-left:2px;flex-shrink:0}.iv-metric-tag__clear:hover{opacity:1}.iv-mapper-grid-wrap{overflow-x:auto;border:1px solid var(--gray-200);border-radius:var(--r-card)}.iv-mapper-grid{border-collapse:collapse;font-size:var(--sl-text-xs);width:100%;min-width:max-content}.iv-mapper-chip-cell{padding:6px 8px 4px;text-align:center;background:var(--gray-50);border-bottom:1px solid var(--gray-100);border-right:1px solid var(--gray-100);min-width:100px;max-width:160px}.iv-mapper-chip-cell--clickable{cursor:pointer}.iv-mapper-chip-cell--clickable:hover{background:color-mix(in srgb,var(--primary-blue) 8%,transparent)}.iv-mapper-chip-cell--assigned{background:var(--bg-card)}.iv-mapper-chip-cell--active-col{background:color-mix(in srgb,var(--primary-blue) 5%,transparent)}.iv-mapper-inline-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--r-pill);border:1.5px solid;font-size:10px;font-weight:700;white-space:nowrap}.iv-mapper-chip-empty{display:inline-block;padding:2px 8px;border-radius:var(--r-pill);border:1.5px dashed var(--gray-300);font-size:10px;color:var(--text-muted);white-space:nowrap}.iv-mapper-col-header{padding:7px 10px;text-align:left;font-weight:600;font-size:var(--sl-text-xs);color:var(--text-secondary);background:var(--bg-card);border-bottom:2px solid var(--gray-200);border-right:1px solid var(--gray-100);white-space:nowrap;max-width:160px;transition:background .1s}.iv-mapper-col-header-text{display:block;overflow:hidden;text-overflow:ellipsis;max-width:140px}.iv-mapper-col-header--clickable{cursor:pointer}.iv-mapper-col-header--clickable:hover{background:color-mix(in srgb,var(--primary-blue) 8%,transparent);color:var(--primary-blue)}.iv-mapper-col-header--assigned{color:var(--text-main);font-weight:700}.iv-mapper-col-header--row-label{min-width:160px}.iv-mapper-data-cell{padding:5px 10px;border-bottom:1px solid var(--gray-50);border-right:1px solid var(--gray-50);font-family:var(--font-mono);font-size:11px;color:var(--text-main);white-space:nowrap;max-width:160px;overflow:hidden;text-overflow:ellipsis}.iv-mapper-row-label{padding:6px 10px;font-weight:600;font-size:var(--sl-text-xs);color:var(--text-secondary);border-bottom:1px solid var(--gray-100);border-right:2px solid var(--gray-200);background:var(--gray-50);white-space:nowrap;display:flex;align-items:center;gap:8px;transition:background .1s}.iv-mapper-row-label--clickable{cursor:pointer}.iv-mapper-row-label--clickable:hover{background:color-mix(in srgb,var(--primary-blue) 8%,transparent)}.iv-mapper-row-label--assigned{color:var(--text-main)}.iv-mapper-row-label-name{overflow:hidden;text-overflow:ellipsis;max-width:120px}.iv-mapper-status{display:flex;align-items:center;gap:10px;padding:6px 0;border-top:1px solid var(--gray-100)}.iv-mapper-status__count{font-size:var(--sl-text-xs);color:var(--text-secondary);flex-shrink:0}.iv-mapper-status__dots{display:flex;gap:4px;align-items:center}.iv-mapper-status__dot{width:8px;height:8px;border-radius:50%;background:var(--gray-200);transition:background .2s}.iv-mapper-block-btn{margin-left:auto;border-style:dashed!important;opacity:.85}.iv-mapper-block-btn:hover{opacity:1}.iv-block-mapper{display:flex;flex-direction:column;gap:8px}.iv-block-mapper__back{display:flex;align-items:center;gap:10px}.iv-block-mapper__mode-label{font-size:var(--sl-text-xs);font-weight:600;color:var(--primary-blue);letter-spacing:.04em;text-transform:uppercase}.iv-block-config{display:flex;align-items:center;gap:16px;padding:8px 10px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:6px;flex-wrap:wrap}.iv-block-config__field{display:flex;align-items:center;gap:6px}.iv-block-config__field label{font-size:var(--sl-text-xs);color:var(--text-secondary);white-space:nowrap}.iv-block-config__input{width:64px;text-align:center}.iv-block-config__info{font-size:var(--sl-text-xs);color:var(--text-secondary);margin-left:auto}.iv-block-grid{border-collapse:collapse;font-size:var(--sl-text-xs)}.iv-block-grid__row-num{padding:3px 6px;font-size:10px;color:var(--text-muted);background:var(--gray-50);border:1px solid var(--gray-100);text-align:center;min-width:28px;-webkit-user-select:none;user-select:none}.iv-block-grid__col-letter{padding:3px 8px;font-size:10px;font-weight:600;color:var(--text-secondary);background:var(--gray-50);border:1px solid var(--gray-100);text-align:center;min-width:80px;-webkit-user-select:none;user-select:none}.iv-block-cell{padding:4px 6px;border:1px solid var(--gray-100);font-size:var(--sl-text-xs);color:var(--text-main);background:#fff;min-width:80px;max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;transition:background .1s;vertical-align:middle}.iv-block-cell--empty{color:var(--text-muted);background:var(--gray-50)}.iv-block-cell--clickable{cursor:pointer}.iv-block-cell--clickable:hover{background:color-mix(in srgb,var(--primary-blue) 10%,white);border-color:var(--primary-blue)}.iv-block-cell--assigned{padding-top:20px}.iv-block-cell__chip{position:absolute;top:2px;left:2px;right:2px;font-size:9px;font-weight:700;padding:1px 4px;border-radius:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4;pointer-events:none}.iv-block-cell__val{display:block;overflow:hidden;text-overflow:ellipsis}.iv-device-detected-banner{display:flex;align-items:center;gap:8px;padding:7px 12px;background:color-mix(in srgb,#22c55e 12%,white);border:1px solid #22c55e40;border-radius:6px;font-size:var(--sl-text-xs);color:#166534;margin-bottom:10px}.iv-device-detected-banner__pct{margin-left:4px;font-size:10px;background:#22c55e;color:#fff;border-radius:99px;padding:1px 7px;font-weight:600}.iv-device-section-label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:12px 0 6px;display:flex;align-items:center;gap:8px}.iv-device-section-label:after{content:"";flex:1;height:1px;background:var(--gray-200)}.iv-device-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin-bottom:4px}.iv-device-card{position:relative;padding:10px 10px 8px;border:1.5px solid var(--gray-200);border-radius:8px;cursor:pointer;background:#fff;transition:border-color .15s,box-shadow .15s,background .15s;display:flex;flex-direction:column;gap:2px;-webkit-user-select:none;user-select:none}.iv-device-card:hover{border-color:var(--primary-blue);background:color-mix(in srgb,var(--primary-blue) 4%,white)}.iv-device-card--selected{border-color:var(--primary-blue);background:color-mix(in srgb,var(--primary-blue) 6%,white);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary-blue) 25%,transparent)}.iv-device-card--detected{border-color:#22c55e}.iv-device-card--detected.iv-device-card--selected{border-color:#22c55e;box-shadow:0 0 0 2px #22c55e40}.iv-device-card--manual{border-style:dashed;background:var(--gray-50)}.iv-device-card__badge{position:absolute;top:5px;right:5px;font-size:9px;font-weight:700;background:#22c55e;color:#fff;border-radius:99px;padding:1px 5px;line-height:1.4}.iv-device-card__icon{font-size:20px;line-height:1;margin-bottom:4px}.iv-device-card__name{font-size:var(--sl-text-xs);font-weight:700;color:var(--text-main);line-height:1.3}.iv-device-card__mfr{font-size:10px;color:var(--text-muted);line-height:1.3}.iv-device-card__mode{margin-top:4px;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);background:var(--gray-100);border-radius:4px;padding:1px 5px;display:inline-block;align-self:flex-start}.iv-assign{display:flex;flex-direction:column;height:100%;overflow:hidden}.iv-assign__toolbar{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border-light);flex-shrink:0;flex-wrap:wrap}.iv-assign__hint{flex:1;font-size:var(--sl-text-xs);color:var(--text-muted)}.iv-assign__stats{font-size:var(--sl-text-xs);color:var(--text-secondary);font-weight:600}.iv-assign__saving{position:absolute;bottom:8px;right:12px;font-size:var(--sl-text-xs);color:var(--text-muted);background:var(--bg-floating);padding:2px 8px;border-radius:4px}.iv-assign__auto-panel{border-bottom:1px solid color-mix(in srgb,var(--primary-blue) 20%,transparent);background:color-mix(in srgb,var(--primary-blue) 4%,var(--bg-card));flex-shrink:0}.iv-assign__auto-modes{display:flex;gap:2px;padding:6px 12px 0}.iv-assign__auto-mode-btn{padding:4px 14px;font-size:var(--sl-text-xs);font-weight:500;border:1px solid var(--gray-200);border-bottom:none;border-radius:6px 6px 0 0;background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all .12s}.iv-assign__auto-mode-btn:hover{color:var(--primary-blue)}.iv-assign__auto-mode-btn--active{background:color-mix(in srgb,var(--primary-blue) 8%,var(--bg-card));border-color:color-mix(in srgb,var(--primary-blue) 30%,transparent);color:var(--primary-blue);font-weight:600}.iv-assign__schema-config{padding:10px 12px;display:flex;flex-direction:column;gap:8px}.iv-assign__schema-note{font-size:var(--sl-text-xs);color:var(--text-muted);line-height:1.5}.iv-assign__schema-note code{font-family:var(--font-mono);background:var(--gray-100);border-radius:3px;padding:0 3px;font-size:10px;color:var(--primary-blue)}.iv-assign__schema-fields{display:flex;flex-direction:column;gap:4px}.iv-assign__schema-row{display:grid;grid-template-columns:100px 1fr;align-items:center;gap:8px}.iv-assign__schema-field-name{font-size:11px;font-weight:600;color:var(--text-secondary);text-align:right;white-space:nowrap}.iv-assign__schema-input{padding:3px 7px;border:1px solid var(--border-input, var(--gray-200));border-radius:4px;background:var(--bg-input, var(--bg-card));color:var(--text-main);font-size:var(--sl-text-xs);font-family:var(--font-mono);width:100%}.iv-assign__schema-input:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 2px var(--primary-blue-soft)}.iv-assign__schema-select{padding:3px 7px;border:1px solid var(--border-input, var(--gray-200));border-radius:4px;background:var(--bg-input, var(--bg-card));color:var(--text-main);font-size:var(--sl-text-xs);max-width:180px}.iv-assign__schema-actions{display:flex;align-items:center;gap:8px;padding-top:4px;border-top:1px solid var(--gray-100)}.iv-assign__schema-match-count{flex:1;font-size:var(--sl-text-xs);color:var(--text-secondary)}.iv-assign__schema-preview{border-top:1px solid var(--gray-200);max-height:280px;display:flex;flex-direction:column;overflow:hidden}.iv-assign__schema-preview-header{display:flex;align-items:center;justify-content:space-between;padding:5px 12px;font-size:var(--sl-text-xs);font-weight:600;color:var(--text-secondary);background:var(--bg-surface);flex-shrink:0}.iv-assign__schema-preview-close{border:none;background:none;cursor:pointer;font-size:14px;color:var(--text-muted);padding:0;line-height:1}.iv-assign__schema-preview-close:hover{color:var(--text-main)}.iv-assign__schema-preview-table-wrap{overflow-y:auto;flex:1}.iv-assign__schema-preview-table{width:100%;border-collapse:collapse;font-size:11px}.iv-assign__schema-preview-table th{padding:4px 8px;text-align:left;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--bg-surface);border-bottom:1px solid var(--gray-200);position:sticky;top:0;white-space:nowrap}.iv-assign__schema-preview-table td{padding:3px 8px;border-bottom:1px solid var(--gray-50);vertical-align:middle}.iv-assign__schema-preview-row--nomatch td{opacity:.5}.iv-assign__schema-preview-mono{font-family:var(--font-mono);font-size:10px}.iv-assign__schema-preview-fields{display:flex;flex-wrap:wrap;gap:3px}.iv-assign__schema-preview-field{font-family:var(--font-mono);font-size:10px;background:var(--gray-100);border-radius:3px;padding:0 4px;color:var(--text-secondary)}.iv-assign__schema-preview-nofields{color:var(--text-muted);font-size:10px}.iv-assign__schema-preview-match{color:#22c55e;font-size:11px;font-weight:500}.iv-assign__schema-preview-nomatch{color:var(--red, #ef4444);font-size:11px}.iv-assign__schema-marker-block{display:flex;flex-direction:column;gap:4px;padding:6px 8px;background:var(--bg-surface, var(--gray-50));border:1px solid var(--gray-200);border-radius:6px}.iv-assign__schema-marker-header{display:flex;align-items:center;gap:8px}.iv-assign__schema-sample-hint{font-size:10px;color:var(--text-muted)}.iv-assign__schema-sample-hint code{font-family:var(--font-mono);background:var(--gray-100);border-radius:3px;padding:0 3px;color:var(--text-secondary)}.iv-assign__schema-sample-hint--none{font-style:italic}.iv-assign__schema-detect-row{display:flex;gap:6px;align-items:center}.iv-assign__schema-detect-row .iv-assign__schema-input{flex:1}.iv-assign__schema-tokens{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:4px 2px 2px}.iv-assign__schema-token-group{display:inline-flex;align-items:center;gap:1px}.iv-assign__schema-token{display:inline-flex;align-items:center;gap:3px;padding:2px 4px 2px 6px;border:1.5px solid var(--primary-blue);border-radius:4px;background:color-mix(in srgb,var(--primary-blue) 8%,white)}.iv-assign__schema-token--skip{border-color:var(--gray-300);background:var(--gray-50)}.iv-assign__schema-token-value{font-family:var(--font-mono);font-size:11px;font-weight:700;color:var(--primary-blue);white-space:nowrap}.iv-assign__schema-token--skip .iv-assign__schema-token-value{color:var(--text-muted);font-weight:400}.iv-assign__schema-token-select{font-size:10px;padding:1px 2px;border:none;background:transparent;color:var(--primary-blue);cursor:pointer;max-width:80px;outline:none}.iv-assign__schema-token--skip .iv-assign__schema-token-select{color:var(--text-muted)}.iv-assign__schema-token-sep{font-size:11px;color:var(--text-muted);font-family:var(--font-mono);padding:0 1px;-webkit-user-select:none;user-select:none}.iv-assign__auto-bar{display:flex;align-items:center;gap:10px;padding:7px 12px;background:color-mix(in srgb,var(--primary-blue) 5%,var(--bg-card));border-bottom:1px solid color-mix(in srgb,var(--primary-blue) 20%,transparent);flex-shrink:0;flex-wrap:wrap}.iv-assign__auto-group{display:flex;align-items:center;gap:5px}.iv-assign__auto-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);white-space:nowrap}.iv-assign__auto-toggle{display:flex;gap:2px}.iv-assign__auto-btn{padding:2px 8px;font-size:11px;font-weight:500;border:1px solid var(--gray-200);border-radius:4px;background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all .12s}.iv-assign__auto-btn:hover{border-color:var(--primary-blue);color:var(--primary-blue)}.iv-assign__auto-btn--active{background:var(--primary-blue);border-color:var(--primary-blue);color:#fff}.iv-assign__auto-sep{width:1px;height:18px;background:var(--gray-200);flex-shrink:0}.iv-assign__auto-check{display:flex;align-items:center;gap:5px;font-size:var(--sl-text-xs);color:var(--text-secondary);cursor:pointer;white-space:nowrap}.iv-assign__auto-preview{font-size:var(--sl-text-xs);color:var(--text-secondary);flex:1;text-align:right;white-space:nowrap}.iv-assign__body{display:grid;grid-template-columns:1fr 1fr;gap:0;flex:1;overflow:hidden}.iv-assign__col{display:flex;flex-direction:column;overflow:hidden;border-right:1px solid var(--border-light)}.iv-assign__col:last-child{border-right:none}.iv-assign__col-header{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:6px 10px;border-bottom:1px solid var(--border-light);flex-shrink:0;background:var(--bg-surface)}.iv-assign__col-title{font-size:var(--sl-text-xs);font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;display:flex;align-items:center;gap:4px;cursor:pointer}.iv-assign__search{flex:1;max-width:140px;padding:2px 6px;border:1px solid var(--border-input);border-radius:4px;background:var(--bg-input);color:var(--text-main);font-size:var(--sl-text-xs)}.iv-assign__list{flex:1;overflow-y:auto;padding:2px 0}.iv-assign__empty{padding:20px 12px;text-align:center;font-size:var(--sl-text-xs);color:var(--text-muted);line-height:1.5}.iv-assign__row-header{display:grid;grid-template-columns:18px 36px 1fr 68px auto 52px 1fr;align-items:center;gap:4px;padding:4px 8px;background:var(--bg-surface);border-bottom:2px solid var(--border-light);flex-shrink:0}.iv-assign__row-header span{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.iv-assign__row-header span:nth-child(2){text-align:right}.iv-assign__row-header span:nth-child(5){text-align:right}.iv-assign__row-header span:nth-child(6){text-align:right}.iv-assign__row{display:grid;grid-template-columns:18px 36px 1fr 68px auto 52px 1fr;align-items:center;gap:4px;padding:2px 8px;cursor:pointer;border-bottom:1px solid var(--border-light);transition:background .1s;min-height:26px}.iv-assign__row:hover{background:var(--bg-hover)}.iv-assign__row--selected{background:var(--blue-50, rgba(59,130,246,.12))}.iv-assign__row--selected:hover{background:var(--blue-100, rgba(59,130,246,.2))}.iv-assign__checkbox{width:14px;height:14px;cursor:pointer;accent-color:var(--blue-500, #3b82f6);justify-self:center}.iv-assign__row-testnum{font-size:11px;font-weight:700;color:var(--text-secondary);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.iv-assign__row-label{font-size:var(--sl-text-xs);color:var(--text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.iv-assign__row-marker{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:3px;padding:1px 4px;text-align:center}.iv-assign__row-marker--2{color:var(--blue-600, #2563eb);background:var(--blue-50, rgba(59,130,246,.1))}.iv-assign__row-marker--3{font-size:10px;color:var(--orange-600, #ea580c);background:var(--orange-50, rgba(249,115,22,.1));border-radius:3px;padding:1px 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.iv-assign__row-pmax{font-size:10px;color:var(--text-secondary);text-align:right;white-space:nowrap}.iv-assign__row-result{font-size:10px;font-weight:600;text-align:right;white-space:nowrap}.iv-assign__row-assigned{font-size:10px;color:var(--blue-500, #3b82f6);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-left:4px}.iv-assign__row-unassigned{font-size:10px;color:var(--text-muted);padding-left:4px}.iv-assign__label-row{display:flex;align-items:center;gap:6px;padding:4px 8px;border-bottom:1px solid var(--border-light);transition:background .1s;min-height:28px}.iv-assign__label-row--clickable{cursor:pointer}.iv-assign__label-row--clickable:hover{background:var(--bg-hover)}.iv-assign__dot{flex-shrink:0;font-size:14px;line-height:1;width:16px;text-align:center}.iv-assign__label-value{flex:1;font-size:var(--sl-text-xs);color:var(--text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.iv-assign__label-count{font-size:10px;font-weight:700;color:var(--text-secondary);background:var(--gray-100);border-radius:10px;padding:1px 5px;flex-shrink:0}.state-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;letter-spacing:.02em;text-transform:capitalize;white-space:nowrap}.state-badge--healthy,.state-badge--stable{background:var(--sl-color-success-100, #d1fae5);color:var(--sl-color-success-700, #065f46)}.state-badge--watch{background:var(--sl-color-warning-100, #fef3c7);color:var(--sl-color-warning-700, #92400e)}.state-badge--degraded{background:#ffedd5;color:#9a3412}.state-badge--critical{background:var(--sl-color-danger-100, #fee2e2);color:var(--sl-color-danger-700, #991b1b)}.state-badge--unknown{background:var(--sl-color-neutral-100, #f3f4f6);color:var(--sl-color-neutral-600, #4b5563)}.state-badge--nominal{background:var(--sl-color-success-100, #d1fae5);color:var(--sl-color-success-700, #065f46)}.state-badge--underperforming{background:#ffedd5;color:#9a3412}.state-badge--offline{background:var(--sl-color-danger-100, #fee2e2);color:var(--sl-color-danger-700, #991b1b)}.state-badge--low{background:var(--sl-color-success-100, #d1fae5);color:var(--sl-color-success-700, #065f46)}.state-badge--medium{background:var(--sl-color-warning-100, #fef3c7);color:var(--sl-color-warning-700, #92400e)}.state-badge--high{background:#ffedd5;color:#9a3412}.state-confidence{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--sl-color-neutral-600, #4b5563)}.state-confidence__bar{flex:1;height:4px;border-radius:2px;background:var(--sl-color-neutral-200, #e5e7eb);overflow:hidden}.state-confidence__fill{height:100%;border-radius:2px;transition:width .3s ease}.state-confidence__fill--high{background:var(--sl-color-success-500, #10b981)}.state-confidence__fill--medium{background:var(--sl-color-warning-500, #f59e0b)}.state-confidence__fill--low{background:var(--sl-color-danger-500, #ef4444)}.state-ticket{display:flex;flex-direction:column;gap:8px;padding:8px 0}.state-ticket__toolbar{display:flex;align-items:center;gap:6px;padding:0 12px}.state-ticket__overview{margin:0 12px;padding:10px 12px;background:var(--sl-color-neutral-50, #f9fafb);border:1px solid var(--sl-color-neutral-200, #e5e7eb);border-radius:8px;cursor:pointer;transition:background .15s}.state-ticket__overview:hover{background:var(--sl-color-neutral-100, #f3f4f6)}.state-ticket__overview-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.state-ticket__label{font-size:11px;font-weight:600;color:var(--sl-color-neutral-500, #6b7280);text-transform:uppercase;letter-spacing:.05em}.state-ticket__ts{font-size:10px;color:var(--sl-color-neutral-400, #9ca3af)}.state-ticket__statuses{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.state-ticket__empty{padding:12px;font-size:12px;color:var(--sl-color-neutral-500, #6b7280);text-align:center}.state-ticket__no-site{padding:12px;font-size:12px;color:var(--sl-color-neutral-400, #9ca3af);text-align:center;font-style:italic}.state-btn{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border-radius:6px;font-size:12px;font-weight:500;border:1px solid transparent;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.state-btn--primary{background:var(--sl-color-primary-600, #2563eb);color:#fff;border-color:var(--sl-color-primary-600, #2563eb)}.state-btn--primary:hover:not(:disabled){background:var(--sl-color-primary-700, #1d4ed8);border-color:var(--sl-color-primary-700, #1d4ed8)}.state-btn--secondary{background:var(--sl-color-neutral-0, #fff);color:var(--sl-color-neutral-700, #374151);border-color:var(--sl-color-neutral-300, #d1d5db)}.state-btn--secondary:hover:not(:disabled){background:var(--sl-color-neutral-50, #f9fafb)}.state-btn--sm{padding:3px 8px;font-size:11px}.state-btn:disabled{opacity:.55;cursor:not-allowed}.state-panel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;background:#00000059;display:flex;align-items:flex-start;justify-content:flex-end;padding:12px}.state-panel-container{width:520px;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);background:var(--sl-color-neutral-0, #fff);border-radius:10px;border:1px solid var(--sl-color-neutral-200, #e5e7eb);box-shadow:0 8px 32px #0000002e;display:flex;flex-direction:column;overflow:hidden}.state-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--sl-color-neutral-200, #e5e7eb);background:var(--sl-color-neutral-50, #f9fafb);flex-shrink:0}.state-panel-header__left{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:var(--sl-color-neutral-900, #111827)}.state-panel-close{background:none;border:none;font-size:18px;line-height:1;cursor:pointer;color:var(--sl-color-neutral-500, #6b7280);padding:2px 6px;border-radius:4px;transition:background .15s}.state-panel-close:hover{background:var(--sl-color-neutral-100, #f3f4f6)}.state-panel-tabs{display:flex;border-bottom:1px solid var(--sl-color-neutral-200, #e5e7eb);background:var(--sl-color-neutral-0, #fff);flex-shrink:0}.state-panel-tab{padding:8px 16px;font-size:12px;font-weight:500;cursor:pointer;border:none;background:none;color:var(--sl-color-neutral-500, #6b7280);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}.state-panel-tab--active{color:var(--sl-color-primary-600, #2563eb);border-bottom-color:var(--sl-color-primary-600, #2563eb)}.state-panel-tab:hover:not(.state-panel-tab--active){color:var(--sl-color-neutral-700, #374151)}.state-panel-body{flex:1;overflow-y:auto;padding:16px}.state-panel-overview{padding:14px;background:var(--sl-color-neutral-50, #f9fafb);border:1px solid var(--sl-color-neutral-200, #e5e7eb);border-radius:8px;margin-bottom:14px}.state-panel-overview__statuses{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.state-panel-overview__score-row{margin-top:8px}.state-panel-overview__ts{font-size:11px;color:var(--sl-color-neutral-400, #9ca3af);margin-top:6px}.state-panel-summary{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.state-panel-summary-item{font-size:12px;color:var(--sl-color-neutral-700, #374151);padding:8px 10px;background:var(--sl-color-neutral-0, #fff);border:1px solid var(--sl-color-neutral-200, #e5e7eb);border-radius:6px;line-height:1.5}.state-panel-summary-item__label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--sl-color-neutral-500, #6b7280);margin-bottom:3px}.state-panel-condition-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:14px}.state-panel-condition-cell{text-align:center;padding:8px 4px;border-radius:6px;background:var(--sl-color-neutral-50, #f9fafb);border:1px solid var(--sl-color-neutral-200, #e5e7eb)}.state-panel-condition-cell__count{font-size:18px;font-weight:700;color:var(--sl-color-neutral-900, #111827)}.state-panel-condition-cell__label{font-size:10px;color:var(--sl-color-neutral-500, #6b7280);margin-top:2px;text-transform:capitalize}.state-panel-history{display:flex;flex-direction:column;gap:6px}.state-panel-history-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--sl-color-neutral-0, #fff);border:1px solid var(--sl-color-neutral-200, #e5e7eb);border-radius:6px;font-size:12px}.state-panel-history-item__ts{flex:1;color:var(--sl-color-neutral-500, #6b7280);font-family:var(--sl-font-mono, monospace);font-size:11px}.state-panel-history-item__statuses{display:flex;gap:4px}.state-panel-history-item__conf{font-size:11px;color:var(--sl-color-neutral-500, #6b7280);white-space:nowrap}.state-panel-recompute-summary{padding:10px 12px;background:var(--sl-color-success-50, #ecfdf5);border:1px solid var(--sl-color-success-200, #a7f3d0);border-radius:6px;font-size:12px;color:var(--sl-color-success-800, #065f46);margin-bottom:14px}.state-panel-empty{text-align:center;color:var(--sl-color-neutral-400, #9ca3af);font-size:13px;padding:32px 16px}.state-panel-loading{text-align:center;color:var(--sl-color-neutral-400, #9ca3af);font-size:13px;padding:24px}.asset-state-card{padding:8px 10px;background:var(--sl-color-neutral-50, #f9fafb);border:1px solid var(--sl-color-neutral-200, #e5e7eb);border-radius:6px;font-size:12px}.asset-state-card--loading,.asset-state-card--error,.asset-state-card--empty{color:var(--sl-color-neutral-400, #9ca3af);font-style:italic;padding:8px 10px;font-size:11px}.asset-state-card--error{color:var(--sl-color-danger-600, #dc2626)}.asset-state-card__badges{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:4px}.asset-state-card__signal{margin-top:6px;font-size:11px;color:var(--sl-color-neutral-600, #4b5563);line-height:1.4}.asset-state-card__meta{margin-top:4px;font-size:11px;color:var(--sl-color-neutral-500, #6b7280)}.asset-state-card__finding-count{color:var(--sl-color-danger-600, #dc2626)}.asset-state-card__ts{margin-top:4px;font-size:10px;color:var(--sl-color-neutral-400, #9ca3af)}.asset-tree-node-state{margin-top:6px}.state-panel-pagination{display:flex;align-items:center;justify-content:space-between;padding-top:10px;font-size:12px;color:var(--sl-color-neutral-500, #6b7280)}.state-panel-truth-section{margin-top:12px;padding-top:10px;border-top:1px solid var(--sl-color-neutral-200, #e5e7eb)}.state-panel-truth-section__header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.state-panel-truth-section__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.truth-mini{padding:8px;background:var(--sl-color-neutral-50, #f9fafb);border:1px solid var(--sl-color-neutral-200, #e5e7eb);border-radius:6px}.truth-mini--empty{opacity:.6;text-align:center}.truth-mini__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.truth-mini__label{font-size:10px;font-weight:600;color:var(--sl-color-neutral-600, #4b5563);text-transform:uppercase;letter-spacing:.03em}.truth-mini__badge{font-size:9px;font-weight:600;color:#fff;padding:1px 5px;border-radius:3px}.truth-mini__value{font-size:10px;color:var(--sl-color-neutral-400, #9ca3af);margin-top:4px}.truth-mini__bars{display:flex;flex-direction:column;gap:3px}.truth-mini__bar-row{display:flex;align-items:center;gap:4px;font-size:9px;color:var(--sl-color-neutral-500, #6b7280)}.truth-mini__bar-row>span:first-child{width:10px;font-weight:600;flex-shrink:0}.truth-mini__bar-row>span:last-child{width:28px;text-align:right;flex-shrink:0}.truth-mini__bar{flex:1;height:4px;background:var(--sl-color-neutral-200, #e5e7eb);border-radius:2px;overflow:hidden}.truth-mini__bar-fill{height:100%;border-radius:2px}.truth-mini__freshness{font-size:9px;color:var(--sl-color-neutral-400, #9ca3af);margin-top:4px;text-align:right}.score-panel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;background:#00000059;display:flex;align-items:flex-start;justify-content:flex-end;padding:12px}.score-panel-container{width:520px;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);background:var(--sl-color-neutral-0, #fff);border-radius:10px;border:1px solid var(--sl-color-neutral-200, #e5e7eb);box-shadow:0 8px 32px #0000002e;display:flex;flex-direction:column;overflow:hidden}.score-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--sl-color-neutral-200, #e5e7eb);background:var(--sl-color-neutral-50, #f9fafb);flex-shrink:0}.score-panel-header__left{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:var(--sl-color-neutral-900, #111827)}.score-panel-header__actions{display:flex;align-items:center;gap:6px}.score-panel-close{background:none;border:none;font-size:18px;line-height:1;cursor:pointer;color:var(--sl-color-neutral-500, #6b7280);padding:2px 6px;border-radius:4px;transition:background .15s}.score-panel-close:hover{background:var(--sl-color-neutral-100, #f3f4f6)}.score-panel-tabs{display:flex;border-bottom:1px solid var(--sl-color-neutral-200, #e5e7eb);background:var(--sl-color-neutral-0, #fff);flex-shrink:0}.score-panel-body{flex:1;overflow-y:auto;padding:16px}.score-panel-empty,.score-panel-loading{text-align:center;color:var(--sl-color-neutral-400, #9ca3af);font-size:13px;padding:32px 16px}.score-panel-error{text-align:center;color:var(--sl-color-danger-600, #dc2626);font-size:13px;padding:24px 16px}.score-panel-compute-done{margin-top:12px;padding:8px 12px;background:var(--sl-color-success-50, #ecfdf5);border:1px solid var(--sl-color-success-200, #a7f3d0);border-radius:6px;font-size:12px;color:var(--sl-color-success-800, #065f46)}.score-panel-compute-error{margin-top:12px;padding:8px 12px;background:var(--sl-color-danger-50, #fef2f2);border:1px solid var(--sl-color-danger-200, #fecaca);border-radius:6px;font-size:12px;color:var(--sl-color-danger-700, #991b1b)}.score-panel-cards{display:flex;flex-direction:column;gap:10px}.score-card{padding:12px 14px;border-radius:8px;border:1px solid var(--sl-color-neutral-200, #e5e7eb);transition:background .15s,border-color .15s}.score-card--scored{background:var(--sl-color-neutral-0, #fff);cursor:pointer}.score-card--scored:hover{background:var(--sl-color-neutral-50, #f9fafb);border-color:var(--sl-color-primary-300, #93c5fd)}.score-card--not-scored{background:var(--sl-color-warning-50, #fffbeb);border-color:var(--sl-color-warning-200, #fde68a)}.score-card--no-state{background:var(--sl-color-neutral-50, #f9fafb);border-color:var(--sl-color-neutral-200, #e5e7eb)}.score-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.score-card__label{font-size:13px;font-weight:600;color:var(--sl-color-neutral-800, #1f2937)}.score-card__ts{font-size:10px;color:var(--sl-color-neutral-400, #9ca3af)}.score-card__status-pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:12px;font-size:10px;font-weight:600;letter-spacing:.02em}.score-card__status-pill--not-scored{background:var(--sl-color-warning-100, #fef3c7);color:var(--sl-color-warning-700, #92400e)}.score-card__status-pill--no-state{background:var(--sl-color-neutral-100, #f3f4f6);color:var(--sl-color-neutral-600, #4b5563)}.score-card__message{font-size:12px;color:var(--sl-color-neutral-500, #6b7280);font-style:italic}.score-card__blocked-reason{font-size:12px;font-weight:500;color:var(--sl-color-warning-700, #92400e);margin-bottom:2px}.score-card__blocked-detail{font-size:11px;color:var(--sl-color-neutral-500, #6b7280)}.score-card__scores-row{display:flex;align-items:center;gap:16px}.score-card__total{display:flex;flex-direction:column;align-items:center;min-width:60px}.score-card__total-value{font-size:22px;font-weight:700;line-height:1.1}.score-card__total-value--high{color:var(--sl-color-success-600, #059669)}.score-card__total-value--medium{color:var(--sl-color-warning-600, #d97706)}.score-card__total-value--low{color:var(--sl-color-danger-600, #dc2626)}.score-card__total-label{font-size:10px;color:var(--sl-color-neutral-400, #9ca3af);text-transform:uppercase;letter-spacing:.05em;margin-top:2px}.score-card__confidence{flex:1;display:flex;flex-direction:column;gap:4px}.score-card__confidence-bar{height:4px;border-radius:2px;background:var(--sl-color-neutral-200, #e5e7eb);overflow:hidden}.score-card__confidence-fill{height:100%;border-radius:2px;transition:width .3s ease}.score-card__confidence-fill--high{background:var(--sl-color-success-500, #10b981)}.score-card__confidence-fill--medium{background:var(--sl-color-warning-500, #f59e0b)}.score-card__confidence-fill--low{background:var(--sl-color-danger-500, #ef4444)}.score-card__confidence-label{font-size:11px;color:var(--sl-color-neutral-500, #6b7280)}.score-card__drilldown-hint{margin-top:6px;font-size:10px;color:var(--sl-color-neutral-400, #9ca3af);text-align:right}.score-panel-asset-group{margin-bottom:16px}.score-panel-asset-group__id{font-size:11px;font-weight:600;color:var(--sl-color-neutral-500, #6b7280);text-transform:uppercase;letter-spacing:.03em;margin-bottom:6px;padding:0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.score-panel-asset-list{display:flex;flex-direction:column;gap:4px}.score-breakdown__back{background:none;border:none;font-size:12px;color:var(--sl-color-primary-600, #2563eb);cursor:pointer;padding:0;margin-bottom:12px}.score-breakdown__back:hover{text-decoration:underline}.score-breakdown__header{padding:12px;background:var(--sl-color-neutral-50, #f9fafb);border:1px solid var(--sl-color-neutral-200, #e5e7eb);border-radius:8px;margin-bottom:14px}.score-breakdown__title{margin:0 0 6px;font-size:15px;font-weight:600;color:var(--sl-color-neutral-900, #111827)}.score-breakdown__score-row{display:flex;align-items:baseline;gap:12px}.score-breakdown__total{font-size:24px;font-weight:700}.score-breakdown__total--high{color:var(--sl-color-success-600, #059669)}.score-breakdown__total--medium{color:var(--sl-color-warning-600, #d97706)}.score-breakdown__total--low{color:var(--sl-color-danger-600, #dc2626)}.score-breakdown__conf{font-size:13px;color:var(--sl-color-neutral-500, #6b7280)}.score-breakdown__section{margin-bottom:14px}.score-breakdown__section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--sl-color-neutral-500, #6b7280);margin-bottom:6px}.score-breakdown__derivation{padding:8px 10px;background:var(--sl-color-neutral-0, #fff);border:1px solid var(--sl-color-neutral-200, #e5e7eb);border-radius:6px}.score-breakdown__derivation-row{display:flex;justify-content:space-between;padding:3px 0;font-size:12px;color:var(--sl-color-neutral-700, #374151)}.score-breakdown__derivation-row--result{border-top:1px solid var(--sl-color-neutral-200, #e5e7eb);margin-top:4px;padding-top:6px;font-weight:600}.score-breakdown__components{display:flex;flex-direction:column;gap:6px}.score-component-card{padding:8px 10px;background:var(--sl-color-neutral-0, #fff);border:1px solid var(--sl-color-neutral-200, #e5e7eb);border-radius:6px}.score-component-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.score-component-card__type{font-size:12px;font-weight:600;color:var(--sl-color-neutral-800, #1f2937)}.score-component-card__contribution{font-size:12px;font-weight:600;color:var(--sl-color-success-600, #059669);font-family:var(--sl-font-mono, monospace)}.score-component-card__details{display:flex;flex-direction:column;gap:3px}.score-component-card__bar-row{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--sl-color-neutral-600, #4b5563)}.score-component-card__bar{flex:1;height:4px;border-radius:2px;background:var(--sl-color-neutral-200, #e5e7eb);overflow:hidden}.score-component-card__bar-fill{height:100%;border-radius:2px;transition:width .3s ease}.score-component-card__bar-fill--high{background:var(--sl-color-success-500, #10b981)}.score-component-card__bar-fill--medium{background:var(--sl-color-warning-500, #f59e0b)}.score-component-card__bar-fill--low{background:var(--sl-color-danger-500, #ef4444)}.score-component-card__meta{font-size:10px;color:var(--sl-color-neutral-400, #9ca3af);font-family:var(--sl-font-mono, monospace)}.score-breakdown__ineligible{display:flex;flex-direction:column;gap:4px}.score-breakdown__ineligible-item{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--sl-color-warning-50, #fffbeb);border:1px solid var(--sl-color-warning-200, #fde68a);border-radius:6px;font-size:12px}.score-breakdown__ineligible-type{font-weight:600;color:var(--sl-color-neutral-800, #1f2937);min-width:80px}.score-breakdown__ineligible-reason{flex:1;color:var(--sl-color-warning-700, #92400e);font-size:11px}.score-breakdown__ineligible-weight{font-size:10px;color:var(--sl-color-neutral-400, #9ca3af);font-family:var(--sl-font-mono, monospace);white-space:nowrap}.score-breakdown__db-components{display:flex;flex-direction:column;gap:2px}.score-breakdown__db-row{display:flex;gap:10px;padding:4px 8px;font-size:11px;font-family:var(--sl-font-mono, monospace);color:var(--sl-color-neutral-600, #4b5563);background:var(--sl-color-neutral-50, #f9fafb);border-radius:4px}.score-breakdown__db-type{font-weight:600;min-width:100px}.score-breakdown__loading{text-align:center;color:var(--sl-color-neutral-400, #9ca3af);font-size:12px;padding:12px}.state-ticket__scores-section{margin:0 12px}.state-ticket__scores-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.state-ticket__scores-title{font-size:11px;font-weight:600;color:var(--sl-color-neutral-500, #6b7280);text-transform:uppercase;letter-spacing:.05em}.state-ticket__score-mini{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:var(--sl-color-neutral-0, #fff);border:1px solid var(--sl-color-neutral-200, #e5e7eb);border-radius:6px;margin-bottom:4px;cursor:pointer;transition:background .15s}.state-ticket__score-mini:hover{background:var(--sl-color-neutral-50, #f9fafb)}.state-ticket__score-mini-label{font-size:11px;font-weight:500;color:var(--sl-color-neutral-700, #374151)}.state-ticket__score-mini-value{font-size:13px;font-weight:700}.state-ticket__score-mini-value--high{color:var(--sl-color-success-600, #059669)}.state-ticket__score-mini-value--medium{color:var(--sl-color-warning-600, #d97706)}.state-ticket__score-mini-value--low{color:var(--sl-color-danger-600, #dc2626)}.state-ticket__score-mini-not-scored{font-size:11px;color:var(--sl-color-warning-600, #d97706);font-style:italic}.state-ticket__score-mini-no-state{font-size:11px;color:var(--sl-color-neutral-400, #9ca3af);font-style:italic}.truth-card{margin-top:8px;padding:12px;background:var(--sl-color-neutral-50, #f9fafb);border:1px solid var(--sl-color-neutral-200, #e5e7eb);border-radius:8px}.truth-card--empty{text-align:center}.truth-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.truth-card__title{font-size:12px;font-weight:600;color:var(--sl-color-neutral-700, #374151)}.truth-card__message{font-size:12px;color:var(--sl-color-neutral-500, #6b7280);margin-bottom:10px}.truth-card__scores{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.truth-card__score-row{display:flex;align-items:center;gap:8px}.truth-card__score-label{font-size:11px;color:var(--sl-color-neutral-500, #6b7280);width:90px;flex-shrink:0}.truth-card__bar{flex:1;height:6px;background:var(--sl-color-neutral-200, #e5e7eb);border-radius:3px;overflow:hidden}.truth-card__bar-fill{height:100%;border-radius:3px;transition:width .3s ease}.truth-card__score-value{font-size:11px;font-weight:600;width:42px;text-align:right;flex-shrink:0}.truth-card__meta{display:flex;gap:12px;font-size:10px;color:var(--sl-color-neutral-500, #6b7280);margin-bottom:8px}.truth-card__summary{font-size:11px;color:var(--sl-color-neutral-600, #4b5563);line-height:1.4;margin-bottom:8px}.truth-card__missing{margin-bottom:8px}.truth-card__missing-title,.truth-card__actions-title{font-size:11px;font-weight:600;color:var(--sl-color-neutral-600, #4b5563);margin-bottom:4px}.truth-card__missing-item,.truth-card__action-item{font-size:11px;color:var(--sl-color-neutral-500, #6b7280);padding:2px 0}.truth-card__missing-more{font-size:10px;color:var(--sl-color-neutral-400, #9ca3af);font-style:italic}.truth-card__actions{margin-bottom:4px}.review-tools-ticket{display:flex;flex-direction:column;height:100%;overflow:hidden}.review-tools-ticket__tabs{display:flex;flex-wrap:wrap;gap:2px;padding:8px 8px 0;border-bottom:1px solid var(--sl-border, #e2e8f0);background:var(--sl-bg-subtle, #f8fafc);flex-shrink:0}.review-tools-ticket__tab{padding:6px 10px;font-size:11px;font-weight:500;border:none;background:none;color:var(--sl-text-muted, #64748b);cursor:pointer;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}.review-tools-ticket__tab:hover{color:var(--sl-text, #1e293b)}.review-tools-ticket__tab--active{color:var(--sl-primary, #3b82f6);border-bottom-color:var(--sl-primary, #3b82f6)}.review-tools-ticket__content{flex:1;overflow-y:auto;padding:8px}.review-tools-ticket__no-site{padding:24px 12px;text-align:center;color:var(--sl-text-muted, #64748b);font-size:12px;line-height:1.5}.review-tools-ticket__nav-links{display:flex;flex-direction:column;gap:4px;padding:8px;border-top:1px solid var(--sl-border, #e2e8f0);flex-shrink:0}.review-tools-ticket__nav-link{display:block;padding:6px 10px;font-size:11px;font-weight:500;color:var(--sl-primary, #3b82f6);text-decoration:none;border-radius:4px;background:var(--sl-bg-subtle, #f8fafc);text-align:center;transition:background .15s}.review-tools-ticket__nav-link:hover{background:var(--sl-bg-hover, #e2e8f0)}.evidence-list,.finding-list,.observation-list,.claim-list,.asset-tree{font-size:12px}.evidence-list__header,.finding-list__header,.observation-list__header,.claim-list__header,.asset-tree__header{font-size:11px;font-weight:600;color:var(--sl-text-muted, #64748b);padding:4px 0 8px;text-transform:uppercase;letter-spacing:.5px}.evidence-list__status,.finding-list__status,.observation-list__status,.claim-list__status,.asset-tree__status{padding:16px 8px;text-align:center;color:var(--sl-text-muted, #64748b);font-size:12px}.evidence-list__error,.finding-list__error,.observation-list__error,.claim-list__error,.asset-tree__error{color:var(--sl-danger, #dc2626)}.evidence-list__items,.finding-list__items,.observation-list__items,.claim-list__items{display:flex;flex-direction:column;gap:6px}.evidence-list__card,.finding-list__card,.observation-list__card,.claim-list__card{padding:8px;border:1px solid var(--sl-border, #e2e8f0);border-radius:6px;background:var(--sl-bg, #fff);font-size:11px;line-height:1.4}.evidence-list__card-type,.finding-list__card-type,.observation-list__card-type{font-weight:600;font-size:11px;margin-bottom:2px}.evidence-list__card-details,.finding-list__card-meta,.observation-list__card-meta{display:flex;gap:8px;flex-wrap:wrap;font-size:10px;color:var(--sl-text-muted, #64748b)}.finding-list__workflow,.claim-list__workflow{display:inline-block;padding:1px 6px;border-radius:3px;font-size:10px;font-weight:600;margin-bottom:4px}.finding-list__workflow--draft,.claim-list__workflow--draft{background:#e2e8f0;color:#475569}.finding-list__workflow--confirmed{background:#dbeafe;color:#1d4ed8}.finding-list__workflow--approved,.claim-list__workflow--approved{background:#dcfce7;color:#166534}.finding-list__workflow--rejected,.claim-list__workflow--withdrawn{background:#fee2e2;color:#991b1b}.claim-list__workflow--published{background:#d1fae5;color:#065f46}.finding-list__severity,.observation-list__severity{display:inline-block;padding:1px 5px;border-radius:3px;font-size:10px;font-weight:600}.finding-list__severity--info{background:#e0f2fe;color:#075985}.finding-list__severity--warning,.observation-list__severity--medium{background:#fef3c7;color:#92400e}.finding-list__severity--critical,.observation-list__severity--critical,.observation-list__severity--high{background:#fee2e2;color:#991b1b}.observation-list__severity--low{background:#e2e8f0;color:#475569}.finding-list__confidence{font-size:10px;color:var(--sl-text-muted, #64748b)}.finding-list__card-title,.claim-list__claim-text{margin-top:2px;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.claim-list__finding-link{font-size:10px;color:var(--sl-primary, #3b82f6);margin-bottom:2px}.claim-list__category{font-size:10px;font-weight:600;color:var(--sl-text-muted, #64748b)}.claim-list__hint{display:block;margin-top:4px;font-size:10px;font-style:italic;color:var(--sl-text-muted, #94a3b8)}.observation-list__status-badge{font-size:10px;font-weight:500}.observation-list__card-source{font-size:10px;color:var(--sl-text-muted, #64748b)}.asset-tree__list,.asset-tree__children{list-style:none;padding:0;margin:0}.asset-tree__node{padding-left:calc(var(--asset-depth, 0) * 16px)}.asset-tree__row{display:flex;align-items:center;gap:6px;padding:3px 4px;border-radius:3px}.asset-tree__row:hover{background:var(--sl-bg-hover, #f1f5f9)}.asset-tree__type-badge{display:inline-block;padding:1px 5px;border-radius:3px;font-size:9px;font-weight:600;text-transform:uppercase;background:#e2e8f0;color:#475569;flex-shrink:0}.asset-tree__type-badge--site{background:#dbeafe;color:#1d4ed8}.asset-tree__type-badge--station{background:#d1fae5;color:#065f46}.asset-tree__type-badge--inverter{background:#fef3c7;color:#92400e}.asset-tree__type-badge--mppt{background:#e0e7ff;color:#3730a3}.asset-tree__type-badge--dccb{background:#fce7f3;color:#9d174d}.asset-tree__type-badge--string{background:#ccfbf1;color:#0f766e}.asset-tree__type-badge--module{background:#f1f5f9;color:#64748b}.asset-tree__label{font-size:11px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-tree__canonical{font-size:10px;color:var(--sl-text-muted, #94a3b8);flex-shrink:0}.asset-tree__hint{display:block;margin-top:4px;font-size:10px;font-style:italic;color:var(--sl-text-muted, #94a3b8)}.editor-panel{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;background-color:var(--sl-bg-secondary)}.editor-panel__status{display:flex;align-items:center;justify-content:space-between;padding:var(--sl-space-3) var(--sl-space-4);background-color:var(--sl-bg-tertiary);border-bottom:1px solid var(--sl-border)}.status-indicator{display:flex;align-items:center;gap:var(--sl-space-2);font-size:var(--sl-text-xs);color:var(--sl-text-secondary)}.status-dot{width:8px;height:8px;border-radius:var(--sl-radius-full)}.status-dot--success{background-color:var(--sl-success);box-shadow:0 0 6px var(--sl-success)}.status-dot--warning{background-color:var(--sl-warning);box-shadow:0 0 6px var(--sl-warning)}.project-name{font-size:var(--sl-text-xs);color:var(--sl-text-muted);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-panel__actions{display:flex;gap:var(--sl-space-2);padding:var(--sl-space-3) var(--sl-space-4);border-bottom:1px solid var(--sl-border)}.editor-panel__add-mode{padding:var(--sl-space-3);border-bottom:1px solid var(--sl-border)}.add-mode-active{display:flex;align-items:center;justify-content:space-between;padding:var(--sl-space-2) var(--sl-space-3);background-color:var(--sl-warning-bg);border:1px solid rgba(217,119,6,.3);border-radius:var(--sl-radius-md);margin-bottom:var(--sl-space-2)}.add-mode-label{font-size:var(--sl-text-sm);font-weight:var(--sl-font-semibold);color:var(--sl-warning)}.add-mode-type{display:flex;align-items:center;gap:var(--sl-space-2)}.add-mode-type label{font-size:var(--sl-text-xs);color:var(--sl-text-muted);white-space:nowrap}.indication-type-select{flex:1;padding:var(--sl-space-2) var(--sl-space-3);background-color:var(--sl-bg-tertiary);border:1px solid var(--sl-border);border-radius:var(--sl-radius-md);color:var(--sl-text-primary);font-size:var(--sl-text-sm);cursor:pointer;transition:all var(--sl-transition-fast)}.indication-type-select:hover{border-color:var(--sl-border-hover)}.indication-type-select:focus{outline:none;border-color:var(--sl-accent);box-shadow:0 0 0 2px var(--sl-accent-muted)}.editor-panel__scroll{flex:1;min-height:0;overflow-y:auto;padding-bottom:32px}.editor-section{border-bottom:1px solid var(--sl-border)}.editor-section__header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--sl-space-3) var(--sl-space-4);background:transparent;border:none;cursor:pointer;transition:background-color var(--sl-transition-fast)}.editor-section__header:hover{background-color:var(--sl-bg-hover)}.editor-section__title{font-family:var(--sl-font-heading);font-size:var(--sl-text-sm);font-weight:var(--sl-font-semibold);color:var(--sl-text-secondary)}.editor-section__icon{color:var(--sl-text-muted);transition:transform var(--sl-transition-fast)}.editor-section__icon--collapsed{transform:rotate(-90deg)}.editor-section__content{padding:0 var(--sl-space-4) var(--sl-space-4)}.editor-section__body{transition:max-height .25s ease,overflow 0s .25s}.editor-section__body--collapsed{max-height:0!important;overflow:hidden;transition:max-height .25s ease,overflow 0s}.editor-section__summary{font-size:var(--sl-text-xs);color:var(--sl-text-muted);margin-left:auto;font-weight:400;white-space:nowrap}.button-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sl-space-2)}.overlay-list{margin-top:var(--sl-space-3);display:flex;flex-direction:column;gap:var(--sl-space-2)}.overlay-item{display:flex;flex-direction:column;gap:var(--sl-space-2);padding:var(--sl-space-2);background-color:var(--sl-bg-tertiary);border-radius:var(--sl-radius-md);border:1px solid var(--sl-border)}.overlay-checkbox{display:flex;align-items:center;gap:var(--sl-space-2);font-size:var(--sl-text-sm);color:var(--sl-text-primary);cursor:pointer}.overlay-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--sl-accent)}.overlay-opacity{width:100%;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--sl-bg-primary);border-radius:var(--sl-radius-full);cursor:pointer}.overlay-opacity::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;background:var(--sl-accent);border-radius:var(--sl-radius-full);cursor:pointer}.indication-summary{display:flex;flex-direction:column;gap:var(--sl-space-2)}.indication-summary__item{display:flex;align-items:center;gap:var(--sl-space-2);padding:var(--sl-space-1) 0}.indication-summary__dot{width:10px;height:10px;border-radius:var(--sl-radius-sm);flex-shrink:0}.indication-summary__label{flex:1;font-size:var(--sl-text-sm);color:var(--sl-text-secondary)}.indication-summary__count{font-size:var(--sl-text-sm);font-weight:var(--sl-font-semibold);color:var(--sl-text-primary);min-width:24px;text-align:right}.indication-summary__empty{font-size:var(--sl-text-sm);color:var(--sl-text-muted);text-align:center;padding:var(--sl-space-4)}.editor-panel__auth-row{display:flex;gap:var(--sl-space-2);padding:var(--sl-space-3) var(--sl-space-4);border-bottom:1px solid var(--sl-border)}.editor-panel__auth-row .sl-btn{flex:1;justify-content:center}.editor-panel__gps{padding:var(--sl-space-3) var(--sl-space-4);border-bottom:1px solid var(--sl-border)}.gps-controls{display:flex;align-items:center;gap:var(--sl-space-2);flex-wrap:wrap}.gps-status{font-size:var(--sl-text-xs);color:var(--sl-text-muted);flex:1;min-width:100%;margin-top:var(--sl-space-1)}.button-row{display:flex;gap:var(--sl-space-2);margin-bottom:var(--sl-space-2)}.button-row:last-child{margin-bottom:0}.button-row .sl-btn{flex:1;justify-content:center}.form-row{display:flex;flex-direction:column;gap:var(--sl-space-1);margin-bottom:var(--sl-space-3)}.form-row:last-child{margin-bottom:0}.form-row>label{font-size:var(--sl-text-xs);font-weight:var(--sl-font-medium);color:var(--sl-text-secondary)}.form-input{padding:var(--sl-space-2) var(--sl-space-3);background-color:var(--sl-bg-tertiary);border:1px solid var(--sl-border);border-radius:var(--sl-radius-md);color:var(--sl-text-primary);font-size:var(--sl-text-sm);transition:all var(--sl-transition-fast)}.form-input--sm{padding:var(--sl-space-1) var(--sl-space-2);font-size:var(--sl-text-xs)}.form-input:hover{border-color:var(--sl-border-hover)}.form-input:focus{outline:none;border-color:var(--sl-accent);box-shadow:0 0 0 2px var(--sl-accent-muted)}.form-range{width:100%;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--sl-bg-primary);border-radius:var(--sl-radius-full);cursor:pointer}.form-range::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;background:var(--sl-accent);border-radius:var(--sl-radius-full);cursor:pointer}.form-checkbox{display:flex;align-items:center;gap:var(--sl-space-2);font-size:var(--sl-text-sm);color:var(--sl-text-primary);cursor:pointer;margin-bottom:var(--sl-space-2)}.orthophoto-dropzone{display:flex;align-items:center;justify-content:center;padding:var(--sl-space-6) var(--sl-space-4);background-color:var(--sl-bg-tertiary);border:2px dashed var(--sl-border);border-radius:var(--sl-radius-md);color:var(--sl-text-muted);font-size:var(--sl-text-sm);text-align:center;cursor:pointer;transition:all var(--sl-transition-fast);margin-bottom:var(--sl-space-3)}.orthophoto-dropzone:hover,.orthophoto-dropzone--dragover{border-color:var(--sl-accent);color:var(--sl-text-secondary);background-color:var(--sl-bg-hover)}.orthophoto-dropzone--dragover{background-color:var(--sl-accent-muted);border-style:solid}.orthophoto-dropzone--manual{border-color:#fbbf2466;background-color:#fbbf240a;padding:var(--sl-space-3) var(--sl-space-4)}.orthophoto-dropzone--manual:hover{border-color:#fbbf24;background-color:#fbbf2414;color:var(--sl-text-secondary)}.ortho-status{font-size:11px;padding:4px 8px;border-radius:var(--sl-radius-sm);background:#3b82f60f;color:var(--sl-text-muted);margin-bottom:var(--sl-space-2)}.ortho-list{display:flex;flex-direction:column;gap:2px;max-height:120px;overflow-y:auto;margin-bottom:var(--sl-space-2)}.ortho-item{display:flex;align-items:center;gap:6px;padding:4px 8px;background:var(--sl-bg-tertiary);border-radius:var(--sl-radius-sm);border:1px solid transparent;cursor:pointer;transition:all var(--sl-transition-fast)}.ortho-item:hover{background:var(--sl-bg-hover)}.ortho-item--active{background:#3b82f614;border-color:#3b82f64d}.ortho-item--manual.ortho-item--active{background:#fbbf240f;border-color:#fbbf244d}.ortho-item__checkbox{width:14px;height:14px;accent-color:var(--sl-accent);cursor:pointer;flex-shrink:0}.ortho-item__info{flex:1;min-width:0}.ortho-item__name{font-size:11px;font-weight:500;color:var(--sl-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:4px}.ortho-badge{font-size:9px;background:#fbbf2433;color:#fbbf24;padding:1px 5px;border-radius:3px;flex-shrink:0}.ortho-badge--hd{background:#22c55e33;color:#22c55e;font-weight:600}.ortho-badge--pending{background:#3b82f633;color:#3b82f6;animation:pulse-badge 1.5s ease-in-out infinite}.ortho-badge--error{background:#ef444433;color:#ef4444;font-weight:700}@keyframes pulse-badge{0%,to{opacity:1}50%{opacity:.4}}.ortho-generating-banner{display:flex;align-items:center;gap:8px;padding:8px 12px;margin:4px 0;background:#3b82f61f;border:1px solid rgba(59,130,246,.3);border-radius:6px;color:#93c5fd;font-size:12px;animation:pulse-badge 2s ease-in-out infinite}.ortho-generating-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(59,130,246,.3);border-top-color:#3b82f6;border-radius:50%;animation:spin-tile .8s linear infinite;flex-shrink:0}@keyframes spin-tile{to{transform:rotate(360deg)}}.ortho-item__size{font-size:10px;color:var(--sl-text-muted)}.ortho-controls{padding:8px;background:var(--sl-bg-tertiary);border-radius:var(--sl-radius-md);display:flex;flex-direction:column;gap:6px}.ortho-controls__row{display:flex;align-items:center;gap:6px}.ortho-controls__label{font-size:11px;color:var(--sl-text-muted);flex-shrink:0}.ortho-controls__slider{flex:1;height:4px;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:var(--sl-border);border-radius:2px;cursor:pointer;outline:none}.ortho-controls__slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;background:var(--sl-accent);border-radius:50%;cursor:pointer}.ortho-controls__slider::-moz-range-thumb{width:12px;height:12px;background:var(--sl-accent);border-radius:50%;border:none;cursor:pointer}.ortho-controls__val{font-size:11px;color:var(--sl-text-muted);font-variant-numeric:tabular-nums;font-family:var(--sl-font-mono);min-width:32px;text-align:right}.ortho-controls__checkbox{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--sl-text-muted);cursor:pointer}.ortho-controls__checkbox input[type=checkbox]{width:12px;height:12px;accent-color:var(--sl-accent)}.ortho-controls__actions{display:flex;gap:4px}.ortho-controls__hint{font-size:11px;color:#64748b;margin:4px 0 0;font-style:italic}.overlay-actions{display:flex;gap:var(--sl-space-1);margin-left:auto}.overlay-actions button{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--sl-border);border-radius:var(--sl-radius-sm);color:var(--sl-text-muted);cursor:pointer;font-size:12px;transition:all var(--sl-transition-fast)}.overlay-actions button:hover{background-color:var(--sl-bg-hover);border-color:var(--sl-border-hover);color:var(--sl-text-primary)}.overlay-item{display:flex;align-items:center;gap:var(--sl-space-2);padding:var(--sl-space-2);background-color:var(--sl-bg-tertiary);border-radius:var(--sl-radius-md);border:1px solid var(--sl-border);flex-direction:row;flex-wrap:wrap;cursor:pointer;transition:all var(--sl-transition-fast)}.overlay-item:hover{border-color:var(--sl-border-hover);background-color:var(--sl-bg-hover)}.overlay-item--active{border-color:var(--sl-accent);background-color:var(--sl-accent-muted)}.overlay-item .overlay-checkbox{flex:1;min-width:0}.overlay-item .overlay-checkbox span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overlay-item .overlay-opacity{flex-basis:100%;margin-top:var(--sl-space-1);accent-color:var(--sl-accent)}.overlay-item__actions{flex-basis:100%;display:flex;gap:4px;margin-top:var(--sl-space-1)}.overlay-item__actions button{flex:1;padding:2px 0;border:1px solid var(--sl-border);border-radius:var(--sl-radius-sm);background:var(--sl-bg-primary);color:var(--sl-text-secondary);font-size:var(--sl-text-xs);cursor:pointer;transition:all var(--sl-transition-fast)}.overlay-item__actions button:hover{background:var(--sl-bg-hover);color:var(--sl-text-primary);border-color:var(--sl-accent)}.overlay-item__actions .overlay-item__remove{flex:0 0 24px;color:var(--sl-text-tertiary);font-size:14px;font-weight:600}.overlay-item__actions .overlay-item__remove:hover{background:#ef444426;color:#ef4444;border-color:#ef4444}.autoreg-controls{margin-bottom:var(--sl-space-3)}.autoreg-toggle{display:flex;align-items:center;gap:var(--sl-space-2);font-size:var(--sl-text-sm);color:var(--sl-text-primary);cursor:pointer}.autoreg-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--sl-accent)}.autoreg-badge{margin-left:auto;padding:var(--sl-space-1) var(--sl-space-2);background-color:var(--sl-bg-tertiary);border:1px solid var(--sl-border);border-radius:var(--sl-radius-sm);font-size:var(--sl-text-xs);font-weight:var(--sl-font-semibold);color:var(--sl-text-muted);text-transform:uppercase}.autoreg-badge--on{background-color:var(--sl-success-bg);border-color:var(--sl-success);color:var(--sl-success)}.autoreg-status{font-size:var(--sl-text-xs);color:var(--sl-text-muted);margin-top:var(--sl-space-2)}.indication-mode-toggle{display:flex;gap:var(--sl-space-1);margin-bottom:var(--sl-space-2)}.mode-btn{flex:1;padding:var(--sl-space-2);background-color:var(--sl-bg-tertiary);border:1px solid var(--sl-border);border-radius:var(--sl-radius-md);color:var(--sl-text-muted);font-size:var(--sl-text-lg);cursor:pointer;transition:all var(--sl-transition-fast)}.mode-btn:hover{background-color:var(--sl-bg-hover);border-color:var(--sl-border-hover);color:var(--sl-text-primary)}.mode-btn--active{background-color:var(--sl-accent-muted);border-color:var(--sl-accent);color:var(--sl-accent)}.editor-panel__orientation{padding:var(--sl-space-3) var(--sl-space-4);border-bottom:1px solid var(--sl-border);background-color:var(--sl-bg-tertiary)}.orientation-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sl-space-3);margin-bottom:var(--sl-space-2)}.orientation-label{font-size:var(--sl-text-xs);font-weight:var(--sl-font-medium);color:var(--sl-text-secondary);white-space:nowrap}.orientation-input-group{display:flex;align-items:center;gap:var(--sl-space-1)}.orientation-input{width:60px;padding:var(--sl-space-1) var(--sl-space-2);background-color:var(--sl-bg-primary);border:1px solid var(--sl-border);border-radius:var(--sl-radius-md);color:var(--sl-text-primary);font-size:var(--sl-text-sm);text-align:center;transition:all var(--sl-transition-fast)}.orientation-input:hover{border-color:var(--sl-border-hover)}.orientation-input:focus{outline:none;border-color:var(--sl-accent);box-shadow:0 0 0 2px var(--sl-accent-muted)}.orientation-input::-webkit-inner-spin-button,.orientation-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.orientation-input[type=number]{-moz-appearance:textfield}.orientation-unit{font-size:var(--sl-text-sm);color:var(--sl-text-muted)}.orientation-buttons{display:flex;gap:var(--sl-space-2)}.orientation-buttons .sl-btn{flex:1;justify-content:center}.orientation-selection-info{display:flex;align-items:center;justify-content:space-between;margin-top:var(--sl-space-2);padding:var(--sl-space-2);background-color:var(--sl-accent-muted);border:1px solid var(--sl-accent);border-radius:var(--sl-radius-md)}.selection-count{font-size:var(--sl-text-xs);font-weight:var(--sl-font-semibold);color:var(--sl-accent)}.selection-hint{font-size:var(--sl-text-xs);color:var(--sl-text-muted)}.ep-ticket-content{display:flex;flex-direction:column;gap:var(--sl-space-2);padding:var(--sl-space-4) var(--sl-space-3)}.ep-section-label{font-size:var(--sl-text-xs);font-weight:var(--sl-font-semibold);color:var(--sl-text-muted);text-transform:uppercase;letter-spacing:.07em;margin-top:var(--sl-space-1)}.ep-divider{height:1px;background:var(--sl-border);margin:var(--sl-space-2) 0}.ep-button-row{display:flex;flex-wrap:wrap;gap:var(--sl-space-2)}.ep-button-row .sl-btn{flex:1 0 auto;justify-content:center}.ep-checkbox-row{display:flex;align-items:center;gap:var(--sl-space-2);font-size:var(--sl-text-xs);color:var(--sl-text-secondary);cursor:pointer}.ep-checkbox-row input[type=checkbox]{width:14px;height:14px;accent-color:var(--sl-accent)}.ep-threshold-row{display:flex;align-items:center;gap:6px;margin-top:4px}.ep-threshold-label{font-size:var(--sl-text-xs);color:var(--sl-text-muted);white-space:nowrap}.ep-threshold-slider{flex:1;height:3px;accent-color:var(--sl-accent)}.ep-threshold-val{font-size:10px;color:var(--sl-text-secondary);min-width:22px;text-align:right;font-variant-numeric:tabular-nums}.ep-progress{display:flex;flex-direction:column;gap:4px;margin-top:6px}.ep-progress__bar{height:4px;background:var(--sl-bg-tertiary);border-radius:2px;overflow:hidden}.ep-progress__fill{height:100%;background:var(--sl-accent, #13d6c6);border-radius:2px;transition:width .3s ease}.ep-progress__label{font-size:10px;color:var(--sl-text-muted)}.ep-status-text{font-size:var(--sl-text-xs);color:var(--sl-text-muted);margin:0}.ep-empty-text{font-size:var(--sl-text-sm);color:var(--sl-text-muted);text-align:center;padding:var(--sl-space-4) 0;margin:0}.thermal-annotator{position:relative;width:100%;overflow:hidden;background:#00000040}.thermal-annotator__img{display:block;width:100%;height:auto;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none}.thermal-annotator__canvas{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:auto;touch-action:none;cursor:crosshair}.thermal-annotator__canvas--readonly{pointer-events:none;cursor:default}.thermal-controls{display:flex;flex-direction:column;gap:var(--sl-space-2);margin-top:var(--sl-space-2)}.thermal-controls__row{display:flex;gap:var(--sl-space-2);align-items:center}.thermal-controls__separator{width:1px;height:20px;background:var(--sl-border);margin:0 2px}.thermal-controls__mode-btn{padding:4px 12px;border-radius:var(--r-sm);border:1px solid var(--sl-border);background:transparent;color:var(--sl-text-primary);font-family:var(--font-main);font-size:var(--sl-text-xs);font-weight:var(--sl-font-medium);cursor:pointer;transition:all var(--sl-transition-fast)}.thermal-controls__mode-btn:hover{background:var(--sl-bg-hover)}.thermal-controls__mode-btn--active{background:var(--sl-accent);border-color:var(--sl-accent);color:#fff}.thermal-controls__mode-btn--active:hover{background:var(--sl-accent-hover)}.thermal-controls__action-btn{padding:4px 10px;border-radius:var(--r-sm);border:1px solid var(--sl-border);background:transparent;color:var(--sl-text-secondary);font-family:var(--font-main);font-size:var(--sl-text-xs);cursor:pointer;transition:all var(--sl-transition-fast)}.thermal-controls__action-btn:hover{background:var(--sl-bg-hover);color:var(--sl-text-primary)}.thermal-controls__status{font-family:var(--font-mono);font-size:var(--sl-text-xs);color:var(--sl-text-secondary);padding:4px 0;line-height:1.35}.thermal-stats{font-family:var(--font-mono);font-size:var(--sl-text-xs);line-height:1.45;padding:var(--sl-space-2) var(--sl-space-3);border-radius:var(--r-tile);background:var(--sl-bg-tertiary);border:1px solid var(--sl-border);max-height:140px;overflow-y:auto;margin-top:var(--sl-space-2)}.thermal-stats__roi-block{margin-bottom:2px}.thermal-stats__line{color:var(--sl-text-primary)}.thermal-stats__line--delta{padding-left:6ch}.thermal-stats__delta{font-weight:var(--sl-font-semibold);color:var(--sl-orange, #F2994A)}.thermal-stats__line--pending{color:var(--sl-text-muted)}.thermal-stats__label{font-weight:var(--sl-font-semibold);color:var(--sl-accent)}.thermal-params{margin-top:var(--sl-space-2)}.thermal-params__toggle{display:flex;align-items:center;gap:var(--sl-space-2);padding:6px 10px;border:none;background:transparent;color:var(--sl-text-secondary);font-family:var(--font-main);font-size:var(--sl-text-xs);font-weight:var(--sl-font-medium);cursor:pointer;border-radius:var(--r-sm);transition:all var(--sl-transition-fast);width:100%;text-align:left}.thermal-params__toggle:hover{background:var(--sl-bg-hover);color:var(--sl-text-primary)}.thermal-params__chevron{font-size:8px;transition:transform var(--sl-transition-fast);display:inline-block}.thermal-params__chevron--open{transform:rotate(90deg)}.thermal-params__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sl-space-2);padding:var(--sl-space-2) var(--sl-space-3);margin-top:var(--sl-space-1);background:var(--sl-bg-tertiary);border-radius:var(--r-tile);border:1px solid var(--sl-border)}.thermal-params__label{display:flex;flex-direction:column;gap:2px;font-family:var(--font-main);font-size:var(--sl-text-xs);color:var(--sl-text-secondary)}.thermal-params__input{padding:4px 8px;border:1px solid var(--sl-border);border-radius:var(--r-sm);background:var(--sl-bg-secondary);color:var(--sl-text-primary);font-family:var(--font-mono);font-size:var(--sl-text-xs);outline:none;transition:border-color var(--sl-transition-fast)}.thermal-params__input:focus{border-color:var(--sl-border-focus)}.thermal-params__input:disabled{opacity:.5;cursor:not-allowed}.topo-banner{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:6px;padding:8px 10px;margin-bottom:8px;font-size:12px}.topo-banner__header{display:flex;align-items:center;gap:6px;margin-bottom:6px}.topo-banner__icon{font-size:14px}.topo-banner__title{font-weight:600;color:#22c55e;flex:1}.topo-banner__confidence{font-size:11px;font-weight:600;padding:1px 6px;border-radius:10px}.topo-banner__confidence--high{background:#22c55e33;color:#16a34a}.topo-banner__confidence--medium{background:#eab30833;color:#ca8a04}.topo-banner__confidence--low{background:#ef444433;color:#dc2626}.topo-banner__fields{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.topo-banner__chip{display:inline-flex;align-items:center;gap:3px;background:#0000000f;border:1px solid rgba(0,0,0,.1);border-radius:4px;padding:2px 6px;font-size:11px}.topo-banner__chip-label{color:#555}.topo-banner__chip-value{color:#1a1a1a;font-weight:600}.topo-banner__nearest{color:#555;font-size:10px;margin-bottom:6px}.topo-banner__actions{display:flex;gap:6px}.topo-banner__btn{padding:3px 10px;border-radius:4px;border:none;font-size:11px;font-weight:600;cursor:pointer;transition:opacity .15s}.topo-banner__btn:hover{opacity:.85}.topo-banner__btn--accept{background:#22c55e;color:#fff}.topo-banner__btn--dismiss{background:#ffffff14;color:#9ca3af;border:1px solid rgba(255,255,255,.12)}.indication-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:420px;max-height:80vh;background-color:var(--sl-bg-secondary);border:1px solid var(--sl-border);border-radius:var(--sl-radius-lg);box-shadow:var(--sl-shadow-xl);z-index:var(--sl-z-modal);display:flex;flex-direction:column;overflow:hidden}.indication-popup--with-photo{flex-direction:row;width:900px;max-width:95vw;height:80vh}.indication-popup--with-photo .indication-popup__photo-panel{width:520px;min-width:300px;display:flex;flex-direction:column;background:#000;border-right:1px solid var(--sl-border);overflow-y:auto;overflow-x:hidden}.indication-popup__photo-img{width:100%;max-height:60vh;object-fit:contain;flex-shrink:0}.indication-popup__photo-notes{margin:0;padding:12px 16px;font-size:12px;font-family:var(--sl-font-main, "Inter", sans-serif);color:var(--sl-text-muted, #94a3b8);background:var(--sl-bg-tertiary, #1e293b);border-top:1px solid var(--sl-border);white-space:pre-wrap;word-break:break-word;max-height:120px;overflow-y:auto;flex-shrink:0}.indication-popup__mini-map{width:100%;flex:1;min-height:120px;border-top:1px solid var(--sl-border)}.indication-popup__mini-map .mapboxgl-ctrl-group button{width:26px;height:26px}.indication-popup__mini-map .mapboxgl-ctrl-top-right{top:4px;right:4px}.indication-popup__form-panel{display:flex;flex-direction:column;overflow:hidden;flex:1;min-width:0}.indication-popup--with-photo .indication-popup__form-panel{width:380px;min-width:280px}.indication-popup__header{display:flex;align-items:center;justify-content:space-between;padding:var(--sl-space-3) var(--sl-space-4);background-color:var(--sl-bg-tertiary);border-bottom:1px solid var(--sl-border)}.indication-popup__header h3{font-family:var(--sl-font-heading);font-size:var(--sl-text-sm);font-weight:var(--sl-font-semibold);color:var(--sl-text-primary);margin:0}.indication-popup__header-right{display:flex;align-items:center;gap:var(--sl-space-2)}.indication-popup__thermal-toggle{padding:4px 12px;border-radius:var(--sl-radius-md);border:1px solid var(--sl-accent);background:var(--sl-accent);color:#fff;font-family:var(--sl-font-main, "Inter", sans-serif);font-size:var(--sl-text-xs);font-weight:var(--sl-font-medium);cursor:pointer;transition:all var(--sl-transition-fast);white-space:nowrap}.indication-popup__thermal-toggle:hover{background:var(--sl-accent-hover)}.indication-popup__thermal-toggle--active{background:transparent;color:var(--sl-text-secondary);border-color:var(--sl-border)}.indication-popup__thermal-toggle--active:hover{background:var(--sl-bg-hover);color:var(--sl-text-primary)}.indication-popup__coords{font-family:var(--sl-font-mono);font-size:var(--sl-text-xs);color:var(--sl-text-muted)}.indication-popup__content{flex:1;overflow-y:auto;padding:var(--sl-space-3);display:flex;flex-direction:column;gap:var(--sl-space-2)}.indication-popup__footer{display:flex;gap:var(--sl-space-2);padding:var(--sl-space-3) var(--sl-space-4);background-color:var(--sl-bg-tertiary);border-top:1px solid var(--sl-border)}.indication-popup__footer .btn{flex:1}.form-row{display:flex;flex-direction:column;gap:var(--sl-space-1)}.form-row--grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sl-space-2)}.form-field{display:flex;flex-direction:column;gap:var(--sl-space-1);min-width:0}.form-row>label,.form-field>label{font-size:var(--sl-text-xs);font-weight:var(--sl-font-medium);color:var(--sl-text-secondary)}.form-add-field-btn{background:none;border:1px dashed var(--sl-border);border-radius:var(--sl-radius-md);color:var(--sl-text-muted, #9ca3af);font-size:var(--sl-text-xs);padding:3px 8px;cursor:pointer;transition:all var(--sl-transition-fast);margin-top:-2px}.form-add-field-btn:hover{color:var(--sl-accent, #13d6c6);border-color:var(--sl-accent, #13d6c6)}.form-input,.form-select,.form-textarea{width:100%;padding:var(--sl-space-1) var(--sl-space-2);background-color:var(--sl-bg-tertiary);border:1px solid var(--sl-border);border-radius:var(--sl-radius-md);color:var(--sl-text-primary);font-size:var(--sl-text-sm);transition:all var(--sl-transition-fast)}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:var(--sl-border-hover)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--sl-accent);box-shadow:0 0 0 2px var(--sl-accent-muted)}.form-select{cursor:pointer}.form-textarea{resize:vertical;min-height:60px}.form-checkbox{display:flex;align-items:center;gap:var(--sl-space-2);font-size:var(--sl-text-sm);color:var(--sl-text-primary);cursor:pointer}.form-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--sl-accent)}.form-hint{font-size:var(--sl-text-xs);color:var(--sl-text-muted);margin-top:var(--sl-space-1)}.form-image-upload{margin-top:var(--sl-space-1)}.form-image-upload__btn{width:100%;padding:var(--sl-space-3);border:2px dashed var(--sl-border);border-radius:var(--sl-radius-md);background:var(--sl-bg-tertiary);color:var(--sl-text-muted);font-size:var(--sl-text-sm);cursor:pointer;transition:all var(--sl-transition-fast)}.form-image-upload__btn:hover{border-color:var(--sl-accent);color:var(--sl-accent);background:var(--sl-bg-hover)}.form-image-upload__preview{position:relative;border-radius:var(--sl-radius-md);overflow:hidden;border:1px solid var(--sl-border)}.form-image-upload__preview img{display:block;width:100%;max-height:160px;object-fit:cover}.form-image-upload__remove{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;border:none;background:#0009;color:#fff;font-size:16px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--sl-transition-fast)}.form-image-upload__remove:hover{background:#eb5757e6}.indication-popup-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;z-index:calc(var(--sl-z-modal) - 1)}.indication-preview{position:absolute;z-index:20;width:340px;pointer-events:auto;font-family:var(--font-main, "Inter", sans-serif);transform:translate(-50%,-100%)}.indication-preview__inner{background:var(--bg-card, #fff);border:1px solid var(--gray-200, #e5e7eb);border-radius:var(--r-tile, 10px);box-shadow:var(--shadow-lg, 0 16px 40px rgba(0,0,0,.12));overflow:hidden}.indication-preview:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid var(--bg-card, #fff);border-bottom:none;filter:drop-shadow(0 2px 3px rgba(0,0,0,.12))}.indication-preview--flipped{transform:translate(-50%)}.indication-preview--flipped:after{bottom:auto;top:-10px;border-top:none;border-bottom:10px solid var(--bg-card, #fff);filter:drop-shadow(0 -2px 3px rgba(0,0,0,.12))}.indication-preview__header{display:flex;align-items:center;gap:6px;padding:6px 10px;border-bottom:1px solid var(--gray-200, #e5e7eb)}.indication-preview__type-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.indication-preview__type-select{flex:1;font-size:var(--sl-text-sm, 12px);font-weight:var(--sl-font-semibold, 600);font-family:var(--font-main, "Inter", sans-serif);color:var(--text-main, #1c1f23);background:transparent;border:none;outline:none;cursor:pointer;padding:2px 16px 2px 0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%239ca3af' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 2px center}.indication-preview__type-select:hover{color:var(--primary-blue, #2f80ff)}.indication-preview__coords{margin-left:auto;font-size:10px;font-family:var(--font-mono, monospace);color:var(--text-muted, #9ca3af);flex-shrink:0}.indication-preview__thumb{display:block;width:100%;max-height:360px;object-fit:contain;background:#000;border-bottom:1px solid var(--gray-200, #e5e7eb)}.indication-preview__thumb-wrap{width:100%;max-height:360px;overflow:hidden;background:#000;border-bottom:1px solid var(--gray-200, #e5e7eb)}.indication-preview__video{display:block;width:100%;max-height:360px;background:#000;border-bottom:1px solid var(--gray-200, #e5e7eb)}.indication-preview__view-toggle{display:flex;gap:2px;padding:4px 6px;background:#1a1a2e;border-bottom:1px solid var(--gray-200, #e5e7eb)}.indication-preview__view-btn{flex:1;padding:3px 0;font-size:11px;font-weight:600;text-align:center;border:1px solid #444;border-radius:4px;background:transparent;color:#999;cursor:pointer;transition:background .15s,color .15s}.indication-preview__view-btn:hover{background:#2a2a3e;color:#e0e0e0}.indication-preview__view-btn--active{background:#3b82f6;border-color:#3b82f6;color:#fff}.indication-preview__fields{padding:4px 10px;display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between}.indication-preview__field-label{display:flex;align-items:center;gap:3px;font-size:11px;color:var(--text-muted, #9ca3af);white-space:nowrap}.indication-preview__field-label span{font-weight:var(--sl-font-medium, 500);color:var(--text-secondary, #6b7280)}.indication-preview__field-input{width:28px;padding:1px 3px;text-align:center;font-size:11px;font-family:var(--font-main, "Inter", sans-serif);color:var(--text-main, #1c1f23);background:var(--gray-50, #f9fafb);border:1px solid var(--gray-200, #e5e7eb);border-radius:4px;outline:none;transition:border-color .15s}.indication-preview__field-input:focus{border-color:var(--primary-blue, #2f80ff);background:var(--bg-card, #fff)}.indication-preview__field-input::placeholder{color:var(--gray-300, #d1d5db)}.indication-preview__field-suffix{font-size:9px;color:var(--gray-400, #9ca3af);margin-left:-1px}.indication-preview__notes-box{border-top:1px solid var(--gray-200, #e5e7eb);background:var(--gray-50, #f9fafb)}.indication-preview__delta-tag{display:block;padding:2px 10px 0;font-size:11px;font-weight:600;font-family:var(--font-mono, monospace);color:var(--sl-orange, #F2994A)}.indication-preview__notes-input{display:block;width:100%;padding:2px 10px 3px;font-size:11px;font-family:var(--font-main, "Inter", sans-serif);color:var(--text-main, #1c1f23);background:transparent;border:none;outline:none;resize:none;line-height:1.4;box-sizing:border-box}.indication-preview__notes-input:focus{background:var(--bg-card, #fff)}.indication-preview__notes-input::placeholder{color:var(--gray-300, #d1d5db)}.indication-preview__checkbox{display:flex;align-items:center;gap:4px;font-size:10px;font-family:var(--font-main, "Inter", sans-serif);color:var(--text-secondary, #6b7280);cursor:pointer;white-space:nowrap;margin-right:4px}.indication-preview__checkbox input[type=checkbox]{width:13px;height:13px;accent-color:var(--primary-blue, #2f80ff);cursor:pointer}.indication-preview__actions{display:flex;align-items:center;gap:4px;padding:5px 10px;border-top:1px solid var(--gray-200, #e5e7eb);background:var(--gray-50, #f9fafb);border-radius:0 0 var(--r-tile, 10px) var(--r-tile, 10px)}.indication-preview__btn{flex:1;padding:4px 0;font-size:11px;font-family:var(--font-main, "Inter", sans-serif);font-weight:var(--sl-font-medium, 500);border:1px solid var(--gray-200, #e5e7eb);border-radius:var(--r-sm, 6px);background:var(--bg-card, #fff);color:var(--text-main, #1c1f23);cursor:pointer;transition:background var(--sl-transition-fast, .15s);text-align:center}.indication-preview__btn:hover{background:var(--sl-bg-hover, #eaecef)}.indication-preview__btn--primary{background:var(--primary-blue, #2f80ff);color:#fff;border-color:var(--primary-blue, #2f80ff)}.indication-preview__btn--primary:hover{background:var(--sl-accent-hover, #1a6fff)}.indication-preview__btn--danger{color:var(--red, #eb5757);border-color:#eb57574d}.indication-preview__btn--danger:hover{background:var(--sl-error-bg, rgba(235, 87, 87, .08))}.photo-viewer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#000000bf;display:flex;align-items:center;justify-content:center}.photo-viewer-modal{position:relative;max-width:90vw;max-height:90vh;background:var(--bg-card, #fff);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0006}.photo-viewer-close{position:absolute;top:8px;right:12px;z-index:1;background:#00000080;color:#fff;border:none;border-radius:50%;width:32px;height:32px;font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.photo-viewer-close:hover{background:#000000b3}.photo-viewer-image{max-width:90vw;max-height:75vh;object-fit:contain}.photo-viewer-notes{margin:0;padding:12px 16px;font-size:12px;font-family:var(--font-main, "Inter", sans-serif);color:var(--text-secondary, #64748b);background:var(--bg-main, #f3f5f7);border-top:1px solid var(--border-color, #e2e8f0);white-space:pre-wrap;word-break:break-word;max-height:120px;overflow-y:auto}.dp-card{background:var(--bg-card);border-radius:var(--r-sm, 4px);padding:6px 10px;cursor:pointer;transition:box-shadow var(--sl-transition-fast),border-color var(--sl-transition-fast);border:1px solid var(--sl-border);position:relative}.dp-card:hover{box-shadow:var(--shadow-hover)}.dp-card--ok{border-left:3px solid var(--green)}.dp-card--warning{border-left:3px solid var(--orange)}.dp-card--critical{border-left:3px solid var(--red)}.dp-card--stale{border-left:3px solid var(--text-muted)}.dp-card--no_data{border-left:3px solid var(--sl-border)}.dp-card__row{display:flex;align-items:center;gap:6px}.dp-card__row--detail{margin-top:2px;gap:8px}.dp-card__status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.dp-card__status-dot--ok{background:var(--green)}.dp-card__status-dot--warning{background:var(--orange)}.dp-card__status-dot--critical{background:var(--red);animation:dp-pulse 1.5s infinite}.dp-card__status-dot--stale{background:var(--text-muted)}.dp-card__status-dot--no_data{background:var(--sl-border)}@keyframes dp-pulse{0%,to{opacity:1}50%{opacity:.4}}.dp-card__name{font-weight:var(--sl-font-semibold);font-size:12px;color:var(--text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.dp-card__alarm-badge{font-size:9px;font-weight:var(--sl-font-bold);color:#fff;border-radius:7px;min-width:14px;height:14px;display:flex;align-items:center;justify-content:center;padding:0 4px;flex-shrink:0}.dp-card__alarm-badge--warning{background:var(--orange)}.dp-card__alarm-badge--critical{background:var(--red)}.dp-card__entity{font-size:10px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:90px;flex-shrink:1;min-width:0}.dp-card__value{display:flex;align-items:baseline;gap:2px;flex-shrink:0}.dp-card__value-num{font-size:14px;font-weight:var(--sl-font-bold);font-variant-numeric:tabular-nums;color:var(--text-main)}.dp-card__value-unit{font-size:10px;color:var(--text-secondary)}.dp-card__value-na{font-size:14px;color:var(--text-muted)}.dp-card__state{font-size:9px;font-weight:var(--sl-font-medium);text-transform:uppercase;letter-spacing:.4px;flex-shrink:0;margin-left:auto}.dp-card__state--ok{color:var(--green)}.dp-card__state--warning{color:var(--orange)}.dp-card__state--critical{color:var(--red)}.dp-card__state--stale,.dp-card__state--no_data{color:var(--text-muted)}.dp-card__time{font-size:9px;color:var(--text-muted);font-variant-numeric:tabular-nums;flex-shrink:0}.dp-card__actions{position:absolute;top:4px;right:4px;display:flex;gap:2px;opacity:0;transition:opacity var(--sl-transition-fast)}.dp-card:hover .dp-card__actions{opacity:1}.dp-card__action{width:20px;height:20px;border:none;background:var(--gray-50);border-radius:var(--r-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:background var(--sl-transition-fast),color var(--sl-transition-fast)}.dp-card__action:hover{background:var(--gray-100);color:var(--text-main)}.dp-card__action--danger:hover{background:#fef2f2;color:var(--red)}.usm-content{display:flex;flex-direction:column;gap:var(--sl-space-4)}.usm-description{font-size:13px;color:var(--text-secondary);line-height:1.5}.usm-dropzone{border:2px dashed var(--sl-border);border-radius:var(--r-md);padding:var(--sl-space-8);display:flex;flex-direction:column;align-items:center;gap:var(--sl-space-2);cursor:pointer;background:var(--gray-50);transition:border-color var(--sl-transition-fast),background var(--sl-transition-fast)}.usm-dropzone:hover{border-color:var(--primary-blue);background:#2f80ff0a}.usm-dropzone--active{border-color:var(--green);background:#ecfdf5}.usm-dropzone--done{border-style:solid;border-color:var(--green);padding:var(--sl-space-4)}.usm-dropzone__icon{color:var(--text-muted)}.usm-dropzone__text{font-size:13px;color:var(--text-secondary)}.usm-dropzone__hint{font-size:11px;color:var(--text-muted)}.usm-dropzone__processing{display:flex;flex-direction:column;align-items:center;gap:var(--sl-space-2);width:100%;font-size:13px;color:var(--text-secondary)}.usm-progress-bar{width:100%;max-width:200px;height:4px;background:var(--gray-200);border-radius:2px;overflow:hidden}.usm-progress-bar__fill{height:100%;background:var(--primary-blue);border-radius:2px;transition:width .3s ease}.usm-error{display:flex;align-items:center;gap:var(--sl-space-2);padding:var(--sl-space-3);background:#fef2f2;border:1px solid #fecaca;border-radius:var(--r-md);font-size:13px;color:#dc2626}.usm-error__icon{width:20px;height:20px;border-radius:50%;background:#dc2626;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.usm-preview{border:1px solid var(--green);border-radius:var(--r-md);padding:var(--sl-space-3);background:#f0fdf4}.usm-preview__header{display:flex;align-items:center;gap:var(--sl-space-2);margin-bottom:var(--sl-space-2)}.usm-preview__check{color:var(--green);font-size:16px;font-weight:700}.usm-preview__title{font-weight:var(--sl-font-semibold);font-size:14px;color:var(--text-main)}.usm-preview__provider{font-size:12px;color:var(--text-secondary);margin-bottom:var(--sl-space-2)}.usm-preview__confidence{color:var(--text-muted);margin-left:var(--sl-space-1)}.usm-preview__stats{font-size:13px;color:var(--text-main);margin-bottom:var(--sl-space-1)}.usm-preview__list{list-style:none;padding:0;margin:0}.usm-preview__list li{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:12px}.usm-preview__type{color:var(--text-secondary)}.usm-preview__count{font-weight:var(--sl-font-semibold);color:var(--text-main);font-variant-numeric:tabular-nums}.usm-preview__meta{margin-top:var(--sl-space-2);padding-top:var(--sl-space-2);border-top:1px solid rgba(0,0,0,.1);font-size:11px;color:var(--text-muted)}.usm-footer{display:flex;justify-content:flex-end;gap:var(--sl-space-2)}.acm-content{display:flex;flex-direction:column;gap:var(--sl-space-4)}.acm-mode-toggle{display:flex;flex-direction:column;gap:var(--sl-space-2)}.acm-mode-label{font-size:12px;font-weight:var(--sl-font-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.acm-mode-buttons{display:flex;gap:var(--sl-space-2)}.acm-mode-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--sl-space-2);padding:var(--sl-space-3) var(--sl-space-4);border:2px solid var(--sl-border);border-radius:var(--r-md);background:var(--bg-card);cursor:pointer;font-size:13px;font-weight:var(--sl-font-medium);color:var(--text-secondary);transition:all var(--sl-transition-fast)}.acm-mode-btn:hover{border-color:var(--primary-blue);color:var(--primary-blue)}.acm-mode-btn--active{border-color:var(--primary-blue);background:#2f80ff0f;color:var(--primary-blue)}.acm-mode-hint{font-size:12px;color:var(--text-muted);line-height:1.4}.acm-divider{height:1px;background:var(--sl-border);margin:var(--sl-space-1) 0}.acm-status{padding:var(--sl-space-3);background:var(--gray-50);border-radius:var(--r-md);border:1px solid var(--sl-border)}.acm-status__header{display:flex;align-items:center;gap:var(--sl-space-2);font-size:13px;color:var(--text-main)}.acm-status__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.acm-status__dot--ok{background:var(--green)}.acm-status__dot--error{background:var(--red)}.acm-status__dot--off{background:var(--text-muted)}.acm-status__text{font-size:13px}.acm-status__meta{margin-top:var(--sl-space-1);padding-left:16px;font-size:11px;color:var(--text-muted)}.acm-field{display:flex;flex-direction:column;gap:var(--sl-space-1)}.acm-field__label{font-size:13px;font-weight:var(--sl-font-medium);color:var(--text-main)}.acm-field__optional{font-weight:var(--sl-font-normal);color:var(--text-muted);font-size:11px}.acm-field__hint{font-weight:var(--sl-font-normal);color:var(--text-muted);font-size:11px;margin-left:var(--sl-space-1)}.acm-field__input,.acm-field__select{width:100%;padding:var(--sl-space-2) var(--sl-space-3);border:1px solid var(--sl-border);border-radius:var(--r-sm);background:var(--bg-card);font-size:13px;color:var(--text-main);font-family:var(--font-main);outline:none;transition:border-color var(--sl-transition-fast)}.acm-field__input:focus,.acm-field__select:focus{border-color:var(--primary-blue);box-shadow:0 0 0 2px #2f80ff1a}.acm-field__input::placeholder{color:var(--text-muted)}.acm-actions{display:flex;gap:var(--sl-space-2)}.acm-test-result{display:flex;align-items:center;gap:var(--sl-space-2);padding:var(--sl-space-3);border-radius:var(--r-md);font-size:13px}.acm-test-result--ok{background:#f0fdf4;border:1px solid var(--green);color:#166534}.acm-test-result--fail{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.acm-test-result__icon{font-weight:700;font-size:14px}.acm-error{display:flex;align-items:center;gap:var(--sl-space-2);padding:var(--sl-space-3);background:#fef2f2;border:1px solid #fecaca;border-radius:var(--r-md);font-size:13px;color:#dc2626}.acm-error__icon{width:20px;height:20px;border-radius:50%;background:#dc2626;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.acm-success{display:flex;align-items:center;gap:var(--sl-space-2);padding:var(--sl-space-3);background:#f0fdf4;border:1px solid var(--green);border-radius:var(--r-md);font-size:13px;color:#166534}.acm-footer{display:flex;justify-content:flex-end;gap:var(--sl-space-2)}.acm-warning-banner{padding:var(--sl-space-3);background:#fffbeb;border:1px solid #fbbf24;border-radius:var(--r-md);font-size:12px;color:#92400e;line-height:1.4}.acm-health{margin-top:var(--sl-space-2);padding:var(--sl-space-2) var(--sl-space-3);border-radius:var(--r-sm);font-size:12px;display:flex;align-items:center;gap:var(--sl-space-2);flex-wrap:wrap}.acm-health--running{background:#f0fdf4;color:#166534}.acm-health--error,.acm-health--disabled{background:#fef2f2;color:#dc2626}.acm-health--circuit_open{background:#fffbeb;color:#92400e}.acm-health--rate_limited{background:#eff6ff;color:#1d4ed8}.acm-health__label{font-weight:var(--sl-font-semibold)}.acm-health__value{text-transform:capitalize}.acm-health__failures{color:inherit;opacity:.7;font-size:11px}.acm-health__message{width:100%;font-size:11px;opacity:.8;margin-top:2px}.acm-field__description{font-size:11px;color:var(--text-muted);line-height:1.3}.acm-field__doclink{font-size:11px;color:var(--primary-blue);text-decoration:none}.acm-field__doclink:hover{text-decoration:underline}.acm-ratelimit,.acm-budget{padding:var(--sl-space-2) var(--sl-space-3);background:var(--gray-50);border-radius:var(--r-sm);font-size:12px;color:var(--text-secondary)}.acm-budget--warning{background:#fffbeb;color:#92400e}.acm-budget__bar{margin-top:var(--sl-space-1);height:4px;background:var(--sl-border);border-radius:2px;overflow:hidden}.acm-budget__fill{height:100%;background:var(--primary-blue);border-radius:2px;transition:width .3s ease}.acm-budget--warning .acm-budget__fill{background:#f59e0b}.ap-content{display:flex;flex-direction:column;gap:var(--sl-space-4);min-height:400px}.ap-stats{display:flex;gap:var(--sl-space-4);align-items:center}.ap-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.ap-stat--toggle{margin-left:auto}.ap-stat__value{font-size:24px;font-weight:var(--sl-font-bold);font-variant-numeric:tabular-nums}.ap-stat__value--total{color:var(--text-main)}.ap-stat__value--critical{color:var(--red)}.ap-stat__value--warning{color:var(--orange)}.ap-stat__label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.ap-sound-toggle{display:flex;align-items:center;gap:var(--sl-space-2);cursor:pointer;font-size:13px}.ap-sound-toggle input{accent-color:var(--primary-blue)}.ap-sound-toggle__label{color:var(--text-secondary);white-space:nowrap}.ap-tabs{display:flex;border-bottom:2px solid var(--sl-border)}.ap-tab{padding:var(--sl-space-2) var(--sl-space-4);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;font-size:13px;font-weight:var(--sl-font-medium);color:var(--text-secondary);transition:all var(--sl-transition-fast)}.ap-tab:hover{color:var(--text-main)}.ap-tab--active{border-bottom-color:var(--primary-blue);color:var(--primary-blue)}.ap-filter{display:flex;align-items:center;gap:var(--sl-space-2)}.ap-filter__label{font-size:12px;color:var(--text-muted)}.ap-filter__btn{padding:4px 10px;border:1px solid var(--sl-border);border-radius:var(--r-sm);background:var(--bg-card);cursor:pointer;font-size:12px;color:var(--text-secondary);transition:all var(--sl-transition-fast)}.ap-filter__btn:hover{border-color:var(--primary-blue)}.ap-filter__btn--active{border-color:var(--primary-blue);background:#2f80ff14;color:var(--primary-blue)}.ap-filter__btn--critical.ap-filter__btn--active{border-color:var(--red);background:#eb575714;color:var(--red)}.ap-filter__btn--warning.ap-filter__btn--active{border-color:var(--orange);background:#f2994a14;color:var(--orange)}.ap-alarm-list{display:flex;flex-direction:column;gap:var(--sl-space-3);max-height:500px;overflow-y:auto}.ap-card{border:1px solid var(--sl-border);border-radius:var(--r-md);padding:var(--sl-space-3);background:var(--bg-card);border-left:4px solid var(--sl-border);transition:border-color var(--sl-transition-fast)}.ap-card--critical{border-left-color:var(--red)}.ap-card--warning{border-left-color:var(--orange)}.ap-card--acked{opacity:.7}.ap-card__header{display:flex;align-items:center;gap:var(--sl-space-2);margin-bottom:var(--sl-space-2)}.ap-card__severity{font-size:10px;font-weight:var(--sl-font-bold);padding:2px 6px;border-radius:var(--r-sm);text-transform:uppercase;letter-spacing:.05em}.ap-card__severity--critical{background:#eb57571f;color:var(--red)}.ap-card__severity--warning{background:#f2994a1f;color:var(--orange)}.ap-card__state{font-size:11px;padding:1px 6px;border-radius:var(--r-sm);background:var(--gray-100);color:var(--text-muted)}.ap-card__state--triggered{background:#eb575714;color:var(--red)}.ap-card__state--acknowledged{background:#2f80ff14;color:var(--primary-blue)}.ap-card__state--resolved{background:#27ae6014;color:var(--green)}.ap-card__time{margin-left:auto;font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums}.ap-card__body{display:flex;flex-direction:column;gap:var(--sl-space-1)}.ap-card__message{font-size:13px;font-weight:var(--sl-font-medium);color:var(--text-main)}.ap-card__details{display:flex;flex-wrap:wrap;gap:var(--sl-space-2) var(--sl-space-4);font-size:12px;color:var(--text-secondary)}.ap-card__detail-label{color:var(--text-muted)}.ap-card__ack-info{margin-top:var(--sl-space-2);padding-top:var(--sl-space-2);border-top:1px solid var(--sl-border);font-size:12px;color:var(--primary-blue)}.ap-card__ack-notes{margin-top:var(--sl-space-1);font-style:italic;color:var(--text-secondary)}.ap-card__resolved-info{margin-top:var(--sl-space-1);font-size:12px;color:var(--green)}.ap-card__actions{display:flex;gap:var(--sl-space-2);margin-top:var(--sl-space-3);padding-top:var(--sl-space-2);border-top:1px solid var(--sl-border)}.ap-card__notes{margin-top:var(--sl-space-2)}.ap-card__notes-input{width:100%;padding:var(--sl-space-2);border:1px solid var(--sl-border);border-radius:var(--r-sm);font-size:12px;font-family:var(--font-main);color:var(--text-main);resize:vertical;outline:none}.ap-card__notes-input:focus{border-color:var(--primary-blue)}.ap-empty{display:flex;flex-direction:column;align-items:center;gap:var(--sl-space-2);padding:var(--sl-space-8);color:var(--text-muted);font-size:13px}.ap-loading{display:flex;align-items:center;justify-content:center;padding:var(--sl-space-8);color:var(--text-muted);font-size:13px}.ap-pagination{display:flex;align-items:center;justify-content:center;gap:var(--sl-space-3);padding-top:var(--sl-space-3);border-top:1px solid var(--sl-border)}.ap-pagination__text{font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums}.ap-history-actions{display:flex;justify-content:center;padding-top:var(--sl-space-2)}.adv-rules{display:flex;flex-direction:column;gap:6px}.adv-rules__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}.adv-rules__add-wrap{position:relative}.adv-rules__add-btn{display:flex;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:600;border:1px solid var(--sl-border);border-radius:var(--r-sm);background:var(--bg-card);cursor:pointer;color:var(--text-secondary);transition:all var(--sl-transition-fast)}.adv-rules__add-btn:hover{border-color:var(--text-secondary);color:var(--text-main)}.adv-rules__dropdown{position:fixed;background:var(--bg-card);border:1px solid var(--sl-border);border-radius:var(--r-sm);box-shadow:0 4px 16px #0000002e;z-index:9999;min-width:200px;overflow:hidden}.adv-rules__dropdown-item{display:block;width:100%;padding:8px 12px;font-size:12px;text-align:left;border:none;background:none;cursor:pointer;color:var(--text-main);transition:background var(--sl-transition-fast)}.adv-rules__dropdown-item:hover{background:var(--sl-bg-hover)}.adv-rules__dropdown-item small{display:block;font-size:10px;color:var(--text-muted);margin-top:1px}.adv-rule-card{background:var(--bg-card);border:1px solid var(--sl-border);border-radius:var(--r-sm);padding:8px 10px;position:relative}.adv-rule-card--warning{border-left:3px solid var(--orange)}.adv-rule-card--critical{border-left:3px solid var(--red)}.adv-rule-card__top{display:flex;align-items:center;gap:6px}.adv-rule-card__type{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:1px 5px;border-radius:3px;flex-shrink:0}.adv-rule-card__type--zero_check{background:#2563eb1a;color:#2563eb}.adv-rule-card__type--deviation{background:#a855f71a;color:#a855f7}.adv-rule-card__type--expression{background:#eab3081a;color:#ca8a04}.adv-rule-card__name{font-size:12px;font-weight:600;color:var(--text-main);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adv-rule-card__toggle{width:28px;height:16px;border-radius:8px;border:none;cursor:pointer;flex-shrink:0;position:relative;transition:background var(--sl-transition-fast)}.adv-rule-card__toggle--on{background:#22c55e}.adv-rule-card__toggle--off{background:var(--sl-border)}.adv-rule-card__toggle:after{content:"";position:absolute;top:2px;width:12px;height:12px;border-radius:50%;background:#fff;transition:left var(--sl-transition-fast)}.adv-rule-card__toggle--on:after{left:14px}.adv-rule-card__toggle--off:after{left:2px}.adv-rule-card__desc{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-secondary);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adv-rule-card__excl-badge{font-size:9px;font-weight:600;padding:1px 5px;border-radius:3px;background:#ef444414;color:#dc2626;flex-shrink:0}.adv-rule-card__actions{position:absolute;top:6px;right:44px;display:flex;gap:2px;opacity:0;transition:opacity var(--sl-transition-fast)}.adv-rule-card:hover .adv-rule-card__actions{opacity:1}.adv-rule-card__action{width:20px;height:20px;border:none;background:var(--gray-50);border-radius:var(--r-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:background var(--sl-transition-fast),color var(--sl-transition-fast)}.adv-rule-card__action:hover{background:var(--gray-100);color:var(--text-main)}.adv-rule-card__action--danger:hover{background:#fef2f2;color:var(--red)}.adv-rules__empty{font-size:12px;color:var(--text-muted);text-align:center;padding:12px 0}.dpc-form{display:flex;flex-direction:column;gap:var(--sl-space-4)}.dpc-field{display:flex;flex-direction:column;gap:var(--sl-space-1)}.dpc-field--half{flex:1}.dpc-row{display:flex;gap:var(--sl-space-3)}.dpc-label{font-size:12px;font-weight:var(--sl-font-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.dpc-label-row{display:flex;justify-content:space-between;align-items:center}.dpc-label-actions{display:flex;gap:var(--sl-space-2)}.dpc-input,.dpc-select{background:var(--gray-50);border:1px solid var(--sl-border);border-radius:var(--r-md);color:var(--text-main);padding:var(--sl-space-2) var(--sl-space-3);font-size:13px;transition:border-color var(--sl-transition-fast)}.dpc-input:focus,.dpc-select:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 2px #2f80ff2e}.dpc-input--xs{width:70px;padding:var(--sl-space-1) var(--sl-space-2)}.dpc-select--sm{padding:var(--sl-space-1) var(--sl-space-2);font-size:12px}.dpc-select--xs{width:55px;padding:var(--sl-space-1) var(--sl-space-2);font-size:12px}.dpc-metrics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;max-height:200px;overflow-y:auto;background:var(--gray-50);border:1px solid var(--sl-border);border-radius:var(--r-md);padding:var(--sl-space-2)}.dpc-metric-item{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:4px;font-size:12px;cursor:pointer;background:var(--bg-card);border:1px solid var(--sl-border);transition:background var(--sl-transition-fast),border-color var(--sl-transition-fast)}.dpc-metric-item:hover{background:#f0fdf4}.dpc-metric-item--checked{background:#dcfce7;border-color:#16a34a}.dpc-metric-item input[type=checkbox]{width:14px;height:14px;accent-color:var(--green)}.dpc-metric-label{display:flex;align-items:center;gap:6px;cursor:pointer;flex:1;min-width:0}.dpc-metric-unit{width:42px;padding:1px 4px;font-size:11px;border:1px solid #16a34a;border-radius:3px;background:#fff;color:#333;text-align:center;flex-shrink:0}.dpc-metric-unit::placeholder{color:#aaa;font-style:italic}.dpc-section{border:1px solid var(--sl-border);border-radius:var(--r-md);padding:var(--sl-space-3)}.dpc-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sl-space-2)}.dpc-section-title{font-size:12px;font-weight:var(--sl-font-semibold);color:var(--text-main)}.dpc-rule-row{display:flex;align-items:center;gap:6px;padding:var(--sl-space-2) 0;border-bottom:1px solid var(--gray-100)}.dpc-rule-row:last-of-type{border-bottom:none}.dpc-rule-row--nested{padding-left:var(--sl-space-3)}.dpc-rule-delete{width:24px;height:24px;border:1px solid #fecaca;background:#fef2f2;border-radius:4px;color:var(--red);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;transition:background var(--sl-transition-fast)}.dpc-rule-delete:hover{background:#fee2e2}.dpc-rule-group{border:1px solid var(--sl-border);border-radius:var(--r-sm);padding:var(--sl-space-2);margin-bottom:var(--sl-space-2);background:var(--gray-50)}.dpc-rule-group-header{display:flex;gap:var(--sl-space-2);align-items:center;margin-bottom:var(--sl-space-2);padding-bottom:var(--sl-space-2);border-bottom:1px solid var(--sl-border)}.dpc-link-btn{background:none;border:none;color:var(--primary-blue);font-size:12px;font-weight:var(--sl-font-medium);cursor:pointer;padding:2px 4px;border-radius:4px;transition:background var(--sl-transition-fast)}.dpc-link-btn:hover{background:#2f80ff14}.dpc-link-btn--indent{margin-left:var(--sl-space-3);margin-top:var(--sl-space-1)}.dpc-empty{font-size:12px;color:var(--text-muted);text-align:center;padding:var(--sl-space-3)}.dpc-footer{display:flex;justify-content:flex-end;gap:var(--sl-space-2)}.sld-viewer{position:fixed;top:0;left:0;right:0;bottom:0;z-index:var(--sl-z-modal);background:var(--bg-main);display:flex;flex-direction:column;font-family:var(--sl-font-body)}body:has(.sld-viewer)>.sl-modal__backdrop{z-index:calc(var(--sl-z-modal) + 50)}.sld-header{display:flex;align-items:center;justify-content:space-between;padding:var(--sl-space-2) var(--sl-space-4);background:var(--bg-card);border-bottom:1px solid var(--sl-border);color:var(--sl-text-primary);flex-shrink:0;gap:var(--sl-space-2);position:relative;z-index:10}.sld-header-left,.sld-header-center,.sld-header-right{display:flex;align-items:center;gap:var(--sl-space-2)}.sld-title{font-weight:var(--sl-font-semibold);font-size:var(--sl-text-base);margin-right:var(--sl-space-2);white-space:nowrap}.sld-header select{background:var(--sl-bg-tertiary);border:1px solid var(--sl-border);color:var(--sl-text-primary);padding:var(--sl-space-1) var(--sl-space-2);border-radius:var(--sl-radius-sm);font-size:var(--sl-text-sm);min-width:180px;font-family:var(--sl-font-body)}.sld-header button{background:var(--sl-bg-tertiary);border:1px solid var(--sl-border);color:var(--sl-text-primary);padding:var(--sl-space-1) var(--sl-space-3);border-radius:var(--sl-radius-sm);font-size:var(--sl-text-sm);cursor:pointer;transition:all var(--sl-transition-fast);white-space:nowrap;font-family:var(--sl-font-body)}.sld-header button:hover{background:var(--sl-bg-hover);border-color:var(--sl-border-hover)}.sld-header button:disabled{opacity:.5;cursor:not-allowed}.sld-add-point-btn{background:var(--sl-success)!important;border-color:var(--sl-success)!important;color:var(--text-inverted)!important}.sld-add-point-btn:hover{filter:brightness(.9)}.sld-add-point-btn.active{background:var(--sl-warning)!important;border-color:var(--sl-warning)!important}.sld-close-btn{background:var(--sl-error)!important;border-color:var(--sl-error)!important;color:var(--text-inverted)!important;font-weight:var(--sl-font-bold);padding:var(--sl-space-1) var(--sl-space-4)!important}.sld-close-btn:hover{filter:brightness(.9)}.sld-body{flex:1;display:flex;position:relative;overflow:hidden}.sld-canvas-area{flex:1;position:relative;overflow:hidden;background:var(--sl-bg-tertiary)}.sld-canvas-container{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;cursor:grab}.sld-canvas-container.dragging{cursor:grabbing}.sld-canvas-container.placing-point{cursor:crosshair}.sld-canvas{position:absolute;top:0;left:0;transform-origin:0 0}.sld-overlay-layer{position:absolute;top:0;left:0;transform-origin:0 0;pointer-events:none}.sld-overlay-layer.placing-mode .sld-point{pointer-events:none!important}.sld-point{position:absolute;pointer-events:auto;cursor:pointer;display:flex;align-items:center;gap:var(--sl-space-1);padding:3px var(--sl-space-2) 3px var(--sl-space-1);background:var(--sl-bg-elevated);border:1px solid var(--sl-border);border-radius:var(--sl-radius-full);font-size:var(--sl-text-xs);white-space:nowrap;box-shadow:var(--sl-shadow-md);transform:translate(-50%,-50%);transition:transform var(--sl-transition-fast),box-shadow var(--sl-transition-fast);z-index:10}.sld-point:hover{transform:translate(-50%,-50%) scale(1.08);z-index:20;box-shadow:var(--sl-shadow-lg);border-color:var(--sl-border-hover)}.sld-point.sld-point--dragging{opacity:.7;z-index:100;cursor:grabbing}.sld-point-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.sld-point-dot--diamond{border-radius:2px;transform:rotate(45deg);width:9px;height:9px}.sld-point-label{color:var(--sl-text-primary);font-weight:var(--sl-font-medium)}.sld-point-value{color:var(--sl-success);font-weight:var(--sl-font-semibold);margin-left:2px}.sld-point:has(.sld-point-values){flex-direction:column;align-items:flex-start;border-radius:8px;padding:6px 10px;gap:2px;transform:translate(-6px,-6px)}.sld-point:has(.sld-point-values):hover{transform:translate(-6px,-6px) scale(1.04)}.sld-point:has(.sld-point-values) .sld-point-dot{position:absolute;top:-4px;left:-4px;width:10px;height:10px;z-index:1;border:2px solid #fff;box-shadow:0 0 3px #00000026}.sld-point-values{display:flex;flex-direction:column;gap:2px;width:100%;margin-top:2px}.sld-point-value-row{display:flex;justify-content:space-between;gap:10px;align-items:center;white-space:nowrap;font-size:11px}.sld-point-value-key{color:#888;font-weight:500;font-size:10px}.sld-point--rule .sld-point-label{color:var(--sl-text-secondary);font-style:italic}.sld-no-diagram{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:var(--bg-main)}.sld-no-diagram-content{text-align:center;color:var(--sl-text-muted)}.sld-no-diagram-content h3{margin:0 0 var(--sl-space-2) 0;color:var(--sl-text-primary);font-size:var(--sl-text-lg)}.sld-no-diagram-content p{margin:0 0 var(--sl-space-5) 0;font-size:var(--sl-text-base)}.sld-upload-btn{background:var(--sl-accent);border:none;color:var(--text-inverted);padding:var(--sl-space-3) var(--sl-space-6);border-radius:var(--sl-radius-md);font-size:var(--sl-text-base);font-weight:var(--sl-font-semibold);cursor:pointer;transition:background var(--sl-transition-fast);font-family:var(--sl-font-body)}.sld-upload-btn:hover{background:var(--sl-accent-hover)}.sld-side-panel{width:var(--sl-panel-width-sm);min-width:var(--sl-panel-width-sm);background:var(--bg-card);border-left:1px solid var(--sl-border);display:flex;flex-direction:column;color:var(--sl-text-primary);overflow:hidden}.sld-side-panel-header{padding:var(--sl-space-3);border-bottom:1px solid var(--sl-border);flex-shrink:0}.sld-side-panel-header h4{margin:0 0 var(--sl-space-2) 0;font-size:var(--sl-text-sm);font-weight:var(--sl-font-semibold);color:var(--sl-text-primary)}.sld-side-panel-search{width:100%;padding:var(--sl-space-2) var(--sl-space-3);background:var(--sl-bg-tertiary);border:1px solid var(--sl-border);border-radius:var(--sl-radius-sm);color:var(--sl-text-primary);font-size:var(--sl-text-sm);outline:none;font-family:var(--sl-font-body);transition:border-color var(--sl-transition-fast)}.sld-side-panel-search:focus{border-color:var(--sl-border-focus)}.sld-side-panel-search::placeholder{color:var(--sl-text-placeholder)}.sld-side-panel-tabs{display:flex;border-bottom:1px solid var(--sl-border);flex-shrink:0}.sld-side-panel-tab{flex:1;padding:var(--sl-space-2) var(--sl-space-1);text-align:center;font-size:var(--sl-text-xs);font-weight:var(--sl-font-semibold);color:var(--sl-text-muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color var(--sl-transition-fast),border-color var(--sl-transition-fast);font-family:var(--sl-font-body)}.sld-side-panel-tab:hover{color:var(--sl-text-secondary)}.sld-side-panel-tab.active{color:var(--sl-accent);border-bottom-color:var(--sl-accent)}.sld-side-panel-list{flex:1;overflow-y:auto;padding:var(--sl-space-1) 0}.sld-side-panel-item{display:flex;align-items:center;gap:var(--sl-space-2);padding:var(--sl-space-2) var(--sl-space-3);cursor:pointer;transition:background var(--sl-transition-fast);border-bottom:1px solid var(--sl-divider)}.sld-side-panel-item:hover{background:var(--sl-bg-hover)}.sld-side-panel-item__dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.sld-side-panel-item__dot--diamond{border-radius:2px;transform:rotate(45deg)}.sld-side-panel-item__info{flex:1;min-width:0}.sld-side-panel-item__name{font-size:var(--sl-text-sm);font-weight:var(--sl-font-semibold);color:var(--sl-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sld-side-panel-item__sub{font-size:10px;color:var(--sl-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sld-side-panel-item__action{flex-shrink:0;padding:3px var(--sl-space-2);font-size:10px;font-weight:var(--sl-font-semibold);border-radius:var(--sl-radius-sm);cursor:pointer;border:1px solid;transition:all var(--sl-transition-fast);font-family:var(--sl-font-body)}.sld-side-panel-item__action--place{background:var(--sl-success);border-color:var(--sl-success);color:var(--text-inverted)}.sld-side-panel-item__action--place:hover{filter:brightness(.9)}.sld-side-panel-item__action--unplace{background:transparent;border-color:var(--sl-border);color:var(--sl-text-muted)}.sld-side-panel-item__action--unplace:hover{background:var(--sl-error-bg);color:var(--sl-error);border-color:var(--sl-error)}.sld-side-panel-item__placed{flex-shrink:0;color:var(--sl-success);font-size:var(--sl-text-sm)}.sld-side-panel-empty{padding:var(--sl-space-6) var(--sl-space-4);text-align:center;color:var(--sl-text-muted);font-size:var(--sl-text-sm)}.sld-footer{display:flex;align-items:center;justify-content:space-between;padding:var(--sl-space-1) var(--sl-space-4);background:var(--bg-card);border-top:1px solid var(--sl-border);color:var(--sl-text-muted);font-size:var(--sl-text-xs);flex-shrink:0;position:relative;z-index:10}.sld-detail-popup{position:fixed;z-index:calc(var(--sl-z-modal) + 2);background:var(--sl-bg-elevated);border:1px solid var(--sl-border);border-radius:var(--sl-radius-lg);padding:var(--sl-space-4);min-width:260px;max-width:320px;box-shadow:var(--sl-shadow-xl)}.sld-detail-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:calc(var(--sl-z-modal) + 1);background:transparent}.sld-detail-header{display:flex;align-items:center;gap:var(--sl-space-2);margin-bottom:var(--sl-space-3)}.sld-detail-header__dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.sld-detail-header__name{font-weight:var(--sl-font-semibold);font-size:var(--sl-text-base);color:var(--sl-text-primary)}.sld-detail-header__state{font-size:var(--sl-text-xs);font-weight:var(--sl-font-semibold);text-transform:uppercase;margin-left:auto;padding:2px var(--sl-space-2);border-radius:var(--sl-radius-sm);background:var(--sl-bg-tertiary)}.sld-detail-metrics{font-size:var(--sl-text-sm);color:var(--sl-text-secondary);margin-bottom:var(--sl-space-3);max-height:120px;overflow-y:auto}.sld-detail-metric-row{display:flex;justify-content:space-between;padding:3px 0;border-bottom:1px solid var(--sl-divider)}.sld-detail-metric-key{color:var(--sl-text-muted)}.sld-detail-metric-val{font-weight:var(--sl-font-semibold);color:var(--sl-text-primary)}.sld-detail-display-metric{margin-bottom:var(--sl-space-3);padding:var(--sl-space-2);background:var(--sl-bg-tertiary);border-radius:var(--sl-radius-sm)}.sld-detail-display-metric label{font-size:var(--sl-text-xs);font-weight:var(--sl-font-semibold);display:block;margin-bottom:var(--sl-space-1);color:var(--sl-text-secondary)}.sld-detail-display-metric select{width:100%;padding:var(--sl-space-1);border-radius:var(--sl-radius-sm);border:1px solid var(--sl-border);font-size:var(--sl-text-sm);background:var(--sl-bg-elevated);color:var(--sl-text-primary);font-family:var(--sl-font-body)}.sld-detail-rules{margin-bottom:var(--sl-space-3);padding:var(--sl-space-2);background:var(--sl-bg-tertiary);border-radius:var(--sl-radius-sm);max-height:160px;overflow-y:auto}.sld-detail-rules__title{font-size:var(--sl-text-xs);font-weight:var(--sl-font-semibold);color:var(--sl-text-secondary);margin-bottom:var(--sl-space-2);text-transform:uppercase;letter-spacing:.5px}.sld-detail-rule{padding:var(--sl-space-1) var(--sl-space-2);border-radius:var(--sl-radius-sm);margin-bottom:var(--sl-space-1);border-left:3px solid var(--sl-border);background:var(--sl-bg-elevated);font-size:var(--sl-text-xs)}.sld-detail-rule--warning{border-left-color:var(--sl-alarm-warning, #F2994A)}.sld-detail-rule--critical{border-left-color:var(--sl-alarm-critical, #EB5757)}.sld-detail-rule__badge{display:inline-block;font-size:9px;font-weight:700;padding:1px 4px;border-radius:3px;margin-right:var(--sl-space-1);vertical-align:middle}.sld-detail-rule--warning .sld-detail-rule__badge{background:#f2994a26;color:#e67e22}.sld-detail-rule--critical .sld-detail-rule__badge{background:#eb575726;color:#c0392b}.sld-detail-rule__detail{color:var(--sl-text-primary)}.sld-detail-rule__type{display:inline-block;font-size:9px;text-transform:uppercase;color:var(--sl-text-muted);margin-left:var(--sl-space-1);padding:1px 4px;background:var(--sl-bg-tertiary);border-radius:3px}.sld-detail-rule__actual{color:var(--sl-text-muted)}.sld-detail-rule__msg{margin-top:2px;font-size:10px;color:var(--sl-text-secondary);font-style:italic}.sld-detail-rule__conditions{margin-top:2px;padding-left:var(--sl-space-2)}.sld-detail-rule__cond{font-size:10px;color:var(--sl-text-secondary)}.sld-detail-actions{display:flex;gap:var(--sl-space-2);flex-wrap:wrap}.sld-detail-actions button{flex:1;padding:var(--sl-space-2) var(--sl-space-1);font-size:var(--sl-text-xs);border-radius:var(--sl-radius-sm);cursor:pointer;border:1px solid var(--sl-border);background:var(--sl-bg-elevated);color:var(--sl-text-primary);transition:all var(--sl-transition-fast);font-family:var(--sl-font-body)}.sld-detail-actions button:hover{background:var(--sl-bg-hover)}.sld-detail-actions button.primary{background:var(--sl-accent);color:var(--text-inverted);border-color:var(--sl-accent)}.sld-detail-actions button.primary:hover{background:var(--sl-accent-hover)}.sld-detail-actions button.danger{color:var(--sl-error);border-color:var(--sl-error)}.sld-detail-actions button.danger:hover{background:var(--sl-error-bg)}.sld-state--ok{background:var(--sl-alarm-ok)}.sld-state--warning{background:var(--sl-alarm-warning);animation:sld-pulse-warning 2s ease-in-out infinite}.sld-state--critical{background:var(--sl-alarm-critical);animation:sld-pulse-critical 1.2s ease-in-out infinite}.sld-state--stale,.sld-state--no_data{background:var(--sl-alarm-stale)}@keyframes sld-pulse-warning{0%,to{box-shadow:0 0 #f2994a99;transform:scale(1)}50%{box-shadow:0 0 8px 4px #f2994a00;transform:scale(1.25)}}@keyframes sld-pulse-critical{0%,to{box-shadow:0 0 #eb5757b3;transform:scale(1)}50%{box-shadow:0 0 10px 5px #eb575700;transform:scale(1.35)}}.sld-state-text--ok{color:var(--sl-alarm-ok)}.sld-state-text--warning{color:var(--sl-alarm-warning)}.sld-state-text--critical{color:var(--sl-alarm-critical)}.sld-state-text--stale,.sld-state-text--no_data{color:var(--sl-alarm-stale)}.sld-delete-btn{color:var(--sl-error)!important}.sld-detail-entity{font-size:var(--sl-text-xs);color:var(--sl-text-muted);margin-bottom:var(--sl-space-2)}.sld-zoom-display{font-size:var(--sl-text-xs);min-width:40px;text-align:center}.sld-no-diagram-icon{font-size:48px;margin-bottom:var(--sl-space-4)}.sld-save-btn{background:var(--sl-success)!important;border-color:var(--sl-success)!important;color:var(--text-inverted)!important;font-weight:var(--sl-font-semibold)}.sld-save-btn:hover{filter:brightness(.9)}.sld-multi-view-btn{font-weight:var(--sl-font-semibold)}.sld-multi-view-btn.active{background:var(--sl-accent)!important;border-color:var(--sl-accent)!important;color:var(--text-inverted)!important}.sld-single-view{flex:1;display:flex;position:relative;overflow:hidden}.sld-multi-view-container{flex:1;position:relative;overflow:hidden;background:var(--sl-bg-tertiary)}.sld-multi-view-freeform{overflow:auto}.sld-multi-view-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--sl-text-muted);font-size:var(--sl-text-base)}.sld-multi-window{position:absolute;background:var(--bg-card);border:2px solid var(--sl-border);border-radius:var(--sl-radius-lg);overflow:hidden;box-shadow:var(--sl-shadow-md);display:flex;flex-direction:column;min-width:250px;min-height:200px}.sld-multi-window:hover{border-color:var(--sl-border-hover)}.sld-multi-window-header{background:var(--sl-bg-tertiary);padding:var(--sl-space-2) var(--sl-space-3);display:flex;align-items:center;gap:var(--sl-space-2);border-bottom:1px solid var(--sl-border);-webkit-user-select:none;user-select:none;cursor:move;flex-shrink:0}.sld-multi-window-title{font-size:var(--sl-text-sm);font-weight:var(--sl-font-semibold);color:var(--sl-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.sld-multi-window-badge{font-size:10px;font-weight:var(--sl-font-semibold);color:var(--sl-text-muted);background:var(--sl-bg-elevated);padding:1px var(--sl-space-2);border-radius:var(--sl-radius-full);white-space:nowrap}.sld-multi-window-btn{background:none;border:none;color:var(--sl-text-muted);cursor:pointer;padding:2px var(--sl-space-1);font-size:var(--sl-text-base);border-radius:var(--sl-radius-sm);transition:background var(--sl-transition-fast),color var(--sl-transition-fast);line-height:1}.sld-multi-window-btn:hover{background:var(--sl-bg-hover);color:var(--sl-text-primary)}.sld-multi-window-maximize:hover{background:var(--sl-accent);color:var(--text-inverted)}.sld-multi-window-content{flex:1;position:relative;overflow:hidden;background:var(--bg-main);min-height:0}.sld-multi-window-content img{width:100%;height:100%;object-fit:contain;display:block}.sld-multi-window-resize{position:absolute;bottom:0;right:0;width:18px;height:18px;cursor:nwse-resize;background:linear-gradient(135deg,transparent 50%,var(--sl-border) 50%);border-radius:0 0 6px;z-index:5}.sld-multi-window-resize:hover{background:linear-gradient(135deg,transparent 50%,var(--sl-accent) 50%)}.sld-multi-window-points{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}.sld-multi-point{position:absolute;display:flex;align-items:center;gap:3px;transform:translate(-50%,-50%) scale(.75);transform-origin:center center;pointer-events:none;white-space:nowrap;padding:2px var(--sl-space-1);background:var(--sl-bg-elevated);border:1px solid var(--sl-border);border-radius:var(--sl-radius-full);box-shadow:var(--sl-shadow-sm)}.sld-multi-point--clickable{pointer-events:auto;cursor:pointer}.sld-multi-point--clickable:hover{background:var(--sl-bg-hover);border-color:var(--sl-accent)}.sld-multi-point-label{font-size:9px;font-weight:var(--sl-font-semibold);color:var(--sl-text-primary);max-width:80px;overflow:hidden;text-overflow:ellipsis}.sld-standalone-viewer{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-main);font-family:var(--sl-font-body);color:var(--sl-text-primary)}.sld-standalone-header{display:flex;align-items:center;justify-content:space-between;padding:var(--sl-space-2) var(--sl-space-4);background:var(--bg-card);border-bottom:1px solid var(--sl-border);flex-shrink:0}.sld-item{display:flex;align-items:center;gap:0}.sld-item__main{flex:1;display:flex;align-items:center;justify-content:space-between;background:none;border:none;padding:var(--sl-space-2) var(--sl-space-3);color:var(--sl-text-primary);cursor:pointer;font-family:var(--sl-font-body);text-align:left;min-width:0}.sld-item__main:hover{background:var(--sl-bg-hover)}.sld-item__popout{background:none;border:none;color:var(--sl-text-muted);cursor:pointer;padding:var(--sl-space-1) var(--sl-space-2);font-size:var(--sl-text-base);line-height:1;border-radius:var(--sl-radius-sm);flex-shrink:0}.sld-item__popout:hover{background:var(--sl-bg-hover);color:var(--sl-accent)}.monitoring-panel{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;background-color:var(--sl-bg-secondary)}.monitoring-panel__status{display:flex;align-items:center;justify-content:space-between;padding:var(--sl-space-3) var(--sl-space-4);background-color:var(--sl-bg-tertiary);border-bottom:1px solid var(--sl-border)}.connection-status{display:flex;align-items:center;gap:var(--sl-space-2);font-size:var(--sl-text-xs);color:var(--sl-text-secondary);padding:var(--sl-space-2) var(--sl-space-3);background-color:var(--sl-bg-tertiary);border-radius:var(--sl-radius-md)}.connection-status.disconnected{background-color:#ef44441a}.connection-status.error{background-color:#ef444433}.connection-status__text{font-weight:var(--sl-font-medium)}.monitoring-panel__scroll{flex:1;min-height:0;overflow-y:auto;padding-bottom:var(--sl-space-4)}.monitoring-panel__actions{display:flex;gap:var(--sl-space-2);margin-bottom:var(--sl-space-3)}.monitoring-panel__empty{font-size:var(--sl-text-sm);color:var(--sl-text-muted);text-align:center;padding:var(--sl-space-4)}.monitoring-panel__sync-time{font-size:var(--sl-text-xs);color:var(--sl-text-muted);text-align:center;margin-top:var(--sl-space-3)}.monitoring-section{border-bottom:1px solid var(--sl-border)}.monitoring-section__header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--sl-space-3) var(--sl-space-4);background:transparent;border:none;cursor:pointer;transition:background-color var(--sl-transition-fast)}.monitoring-section__header:hover{background-color:var(--sl-bg-hover)}.monitoring-section__title{display:flex;align-items:center;gap:var(--sl-space-2);font-family:var(--sl-font-heading);font-size:var(--sl-text-xs);font-weight:var(--sl-font-semibold);color:var(--sl-text-secondary);text-transform:uppercase;letter-spacing:.08em}.monitoring-section__badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 var(--sl-space-2);background-color:var(--sl-accent);border-radius:var(--sl-radius-full);font-size:var(--sl-text-xs);font-weight:var(--sl-font-semibold);color:var(--sl-bg-primary)}.monitoring-section__icon{color:var(--sl-text-muted);transition:transform var(--sl-transition-fast)}.monitoring-section__icon--collapsed{transform:rotate(-90deg)}.monitoring-section__content{padding:0 var(--sl-space-4) var(--sl-space-4)}.auto-refresh{margin-bottom:var(--sl-space-3)}.auto-refresh__label{display:flex;align-items:center;gap:var(--sl-space-2);font-size:var(--sl-text-sm);color:var(--sl-text-secondary);cursor:pointer}.auto-refresh__label input[type=checkbox]{width:16px;height:16px;accent-color:var(--sl-accent)}.data-points-grid{display:flex;flex-direction:column;gap:4px}.dp-toolbar{display:flex;flex-direction:column;gap:6px}.dp-search{display:flex;align-items:center;gap:4px;background:var(--bg-card);border:1px solid var(--sl-border);border-radius:var(--r-sm);padding:0 8px;height:28px}.dp-search__icon{flex-shrink:0;color:var(--text-muted)}.dp-search__input{border:none;background:transparent;flex:1;font-size:12px;outline:none;color:var(--text-main);min-width:0}.dp-search__input::placeholder{color:var(--text-muted)}.dp-search__clear{border:none;background:none;cursor:pointer;padding:2px;color:var(--text-muted);display:flex;align-items:center}.dp-search__clear:hover{color:var(--text-main)}.dp-filter{display:flex;gap:4px;flex-wrap:wrap}.dp-filter__chip{font-size:10px;padding:2px 8px;border-radius:10px;border:1px solid var(--sl-border);background:transparent;cursor:pointer;color:var(--text-secondary);transition:all var(--sl-transition-fast)}.dp-filter__chip:hover{border-color:var(--text-secondary)}.dp-filter__chip--active{background:#2563eb14;border-color:#2563eb;color:#2563eb}.data-point-card{padding:var(--sl-space-3);background-color:var(--sl-bg-tertiary);border:1px solid var(--sl-border);border-radius:var(--sl-radius-md);cursor:pointer;transition:all var(--sl-transition-fast)}.data-point-card:hover{border-color:var(--sl-border-hover);background-color:var(--sl-bg-hover)}.data-point-card--warning{border-left:3px solid var(--sl-warning)}.data-point-card--critical{border-left:3px solid var(--sl-error);animation:pulse-critical 2s ease-in-out infinite}@keyframes pulse-critical{0%,to{box-shadow:0 0 #ef444400}50%{box-shadow:0 0 8px 2px #ef44444d}}.data-point-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sl-space-2)}.data-point-card__name{font-size:var(--sl-text-xs);font-weight:var(--sl-font-medium);color:var(--sl-text-secondary);text-transform:uppercase;letter-spacing:.05em}.data-point-card__status{width:8px;height:8px}.data-point-card__value{display:flex;align-items:baseline;gap:var(--sl-space-1)}.data-point-card__number{font-family:var(--sl-font-mono);font-size:var(--sl-text-xl);font-weight:var(--sl-font-bold);color:var(--sl-text-primary)}.data-point-card__unit{font-size:var(--sl-text-sm);color:var(--sl-text-muted)}.data-point-card__meta{margin-top:var(--sl-space-2);font-size:var(--sl-text-xs);color:var(--sl-text-muted)}.alarms-list{display:flex;flex-direction:column;gap:var(--sl-space-1)}.alarm-item{padding:var(--sl-space-3);background-color:var(--sl-bg-tertiary);border:1px solid var(--sl-border);border-radius:var(--sl-radius-md)}.alarm-item--compact{padding:var(--sl-space-2)}.alarm-item--compact .alarm-item__header{margin-bottom:var(--sl-space-1)}.alarm-item--compact .alarm-item__message{font-size:var(--sl-text-xs);font-weight:var(--sl-font-semibold);margin-bottom:2px}.alarm-item--compact .alarm-item__details{margin-bottom:0;gap:0}.alarm-item--compact .alarm-item__details span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alarm-item--compact:hover{filter:brightness(.95)}.alarm-item--critical{border-left:3px solid var(--sl-error);background-color:#ef44440d}.alarm-item--warning{border-left:3px solid var(--sl-warning);background-color:#eab3080d}.alarm-item--info{border-left:3px solid var(--sl-info)}.alarm-item__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sl-space-2)}.alarm-item__severity{font-size:var(--sl-text-xs);font-weight:var(--sl-font-bold);text-transform:uppercase;letter-spacing:.05em}.alarm-item__severity--critical{color:var(--sl-error)}.alarm-item__severity--warning{color:var(--sl-warning)}.alarm-item__severity--info{color:var(--sl-info)}.alarm-item__type{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:1px 5px;border-radius:3px}.alarm-item__type--zero_check{background:#2563eb1a;color:#2563eb}.alarm-item__type--deviation{background:#a855f71a;color:#a855f7}.alarm-item__type--expression{background:#eab3081a;color:#ca8a04}.alarm-item__muted{color:var(--sl-text-muted);font-style:italic}.alarm-item__time{font-size:var(--sl-text-xs);color:var(--sl-text-muted)}.alarm-item__message{font-size:var(--sl-text-sm);color:var(--sl-text-primary);margin-bottom:var(--sl-space-2)}.alarm-item__details{display:flex;flex-direction:column;gap:var(--sl-space-1);font-size:var(--sl-text-xs);color:var(--sl-text-muted);margin-bottom:var(--sl-space-2)}.alarm-item__actions{display:flex;gap:var(--sl-space-2)}.alarm-popup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:1000;display:flex;align-items:center;justify-content:center}.alarm-popup{background:var(--sl-bg-secondary);border:1px solid var(--sl-border);border-radius:var(--sl-radius-lg);box-shadow:0 8px 32px #00000040;width:380px;max-width:90vw;max-height:80vh;overflow-y:auto}.alarm-popup__header{display:flex;align-items:center;justify-content:space-between;padding:var(--sl-space-3) var(--sl-space-4);border-bottom:1px solid var(--sl-border);font-size:var(--sl-text-sm);font-weight:var(--sl-font-semibold);color:var(--sl-text-primary)}.alarm-popup__close{background:none;border:none;font-size:20px;line-height:1;color:var(--sl-text-muted);cursor:pointer;padding:0 4px}.alarm-popup__close:hover{color:var(--sl-text-primary)}.alarm-popup__body{padding:var(--sl-space-3) var(--sl-space-4) var(--sl-space-4)}.alarm-popup__badges{display:flex;align-items:center;gap:var(--sl-space-2);margin-bottom:var(--sl-space-2)}.alarm-popup__name{font-size:14px;font-weight:600;color:var(--sl-text-primary);margin-bottom:var(--sl-space-1)}.alarm-popup__condition{font-size:var(--sl-text-xs);color:var(--sl-text-secondary);font-family:monospace;background:var(--sl-bg-tertiary);padding:var(--sl-space-1) var(--sl-space-2);border-radius:var(--sl-radius-sm);margin-bottom:var(--sl-space-2)}.alarm-popup__message{font-size:var(--sl-text-sm);color:var(--sl-text-secondary);margin-bottom:var(--sl-space-2)}.alarm-popup__table-label{font-size:var(--sl-text-xs);font-weight:var(--sl-font-semibold);color:var(--sl-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--sl-space-1)}.alarm-popup__table{width:100%;border-collapse:collapse;font-size:var(--sl-text-xs)}.alarm-popup__table th{text-align:left;font-weight:var(--sl-font-semibold);color:var(--sl-text-muted);padding:var(--sl-space-1) var(--sl-space-2);border-bottom:1px solid var(--sl-border)}.alarm-popup__table td{padding:var(--sl-space-1) var(--sl-space-2);color:var(--sl-text-primary);border-bottom:1px solid var(--sl-border);font-family:monospace;font-size:11px}.alarm-popup__table tr:last-child td{border-bottom:none}.alarm-popup__result--true{color:#16a34a;font-weight:600}.alarm-popup__result--false{color:var(--sl-text-muted)}.mp-ticket-content--split{flex:1;min-height:0;display:flex;flex-direction:column}.mp-ticket-content--split>.alarm-controls{flex-shrink:0}.mp-split-section{flex:1;min-height:60px;display:flex;flex-direction:column;border-bottom:1px solid var(--sl-border)}.mp-split-section:last-child{border-bottom:none}.mp-split-section>.mp-section-label{flex-shrink:0;padding:var(--sl-space-1) var(--sl-space-3) var(--sl-space-1)}.mp-split-scroll{flex:1;min-height:0;overflow-y:auto;padding:0 var(--sl-space-3) var(--sl-space-2)}.sld-list{display:flex;flex-direction:column;gap:var(--sl-space-2)}.sld-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--sl-space-3);background-color:var(--sl-bg-tertiary);border:1px solid var(--sl-border);border-radius:var(--sl-radius-md);cursor:pointer;transition:all var(--sl-transition-fast)}.sld-item:hover{border-color:var(--sl-border-hover);background-color:var(--sl-bg-hover)}.sld-item__name{font-size:var(--sl-text-sm);color:var(--sl-text-primary)}.sld-item__points{font-size:var(--sl-text-xs);color:var(--sl-text-muted)}.button-stack{display:flex;flex-direction:column;gap:var(--sl-space-2)}.button-row{display:flex;gap:var(--sl-space-2)}.button-row .sl-btn{flex:1}.scada-source-row{display:flex;align-items:center;gap:var(--sl-space-2);margin-bottom:var(--sl-space-2)}.scada-site-select{flex:1;padding:var(--sl-space-2) var(--sl-space-3);background-color:var(--sl-bg-tertiary);border:1px solid var(--sl-border);border-radius:var(--sl-radius-md);color:var(--sl-text-primary);font-size:var(--sl-text-sm);cursor:pointer;transition:all var(--sl-transition-fast)}.scada-site-select:hover{border-color:var(--sl-border-hover)}.scada-site-select:focus{outline:none;border-color:var(--sl-accent);box-shadow:0 0 0 2px var(--sl-accent-muted)}.scada-btn{padding:var(--sl-space-2);background-color:var(--sl-bg-tertiary);border:1px solid var(--sl-border);border-radius:var(--sl-radius-md);color:var(--sl-text-primary);font-size:var(--sl-text-sm);cursor:pointer;transition:all var(--sl-transition-fast);min-width:36px;display:flex;align-items:center;justify-content:center}.scada-btn:hover{background-color:var(--sl-bg-hover);border-color:var(--sl-border-hover)}.scada-btn--add{background-color:#dcfce7;border-color:#86efac;color:#166534}.scada-btn--add:hover{background-color:#bbf7d0}.scada-btn--delete{background-color:#fef2f2;border-color:#fecaca;color:#dc2626}.scada-btn--delete:hover{background-color:#fee2e2}.scada-source-actions{display:flex;align-items:center;gap:var(--sl-space-2);flex-wrap:wrap}.scada-last-refresh{font-size:var(--sl-text-xs);color:var(--sl-text-muted)}.api-settings{display:flex;flex-direction:column;gap:var(--sl-space-3)}.api-settings__warning{padding:var(--sl-space-2) var(--sl-space-3);background-color:#eab3081a;border:1px solid rgba(234,179,8,.3);border-radius:var(--sl-radius-md);font-size:var(--sl-text-xs);color:var(--sl-warning)}.auto-refresh{display:flex;align-items:center;justify-content:space-between;gap:var(--sl-space-3)}.auto-refresh__toggle{display:flex;align-items:center;gap:var(--sl-space-2);font-size:var(--sl-text-sm);color:var(--sl-text-secondary);cursor:pointer}.auto-refresh__toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--sl-accent)}.auto-refresh__interval{display:flex;align-items:center;gap:var(--sl-space-2)}.auto-refresh__interval input{width:70px}.auto-refresh__unit{font-size:var(--sl-text-xs);color:var(--sl-text-muted)}.auto-refresh__status{font-size:var(--sl-text-sm);color:var(--sl-text-muted)}.auto-refresh__status--live{color:#22c55e;font-weight:600}.budget-calc{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--sl-text-secondary)}.budget-calc__row{display:flex;justify-content:space-between;align-items:center}.budget-calc__row--total{font-weight:600;color:var(--sl-text-primary);font-size:12px;padding-top:2px}.budget-calc__detail{color:var(--sl-text-muted);font-size:10px}.budget-calc__bar-container{height:6px;background:var(--sl-bg-tertiary, #333);border-radius:3px;overflow:hidden;margin-top:4px}.budget-calc__bar{height:100%;border-radius:3px;transition:width .3s,background-color .3s}.budget-calc__warning{color:#ef4444;font-size:11px;font-weight:500;margin-top:2px}.alarm-controls{display:flex;align-items:center;justify-content:space-between;gap:var(--sl-space-2);margin-bottom:var(--sl-space-3)}.alarm-sound-toggle{display:flex;align-items:center;gap:var(--sl-space-2);font-size:var(--sl-text-sm);color:var(--sl-text-secondary);cursor:pointer}.alarm-sound-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--sl-accent)}.alarms-list__more{font-size:var(--sl-text-xs);color:var(--sl-text-muted);text-align:center;padding:var(--sl-space-2)}.mp-ticket-content{display:flex;flex-direction:column;gap:6px;padding:var(--sl-space-3) var(--sl-space-3)}.mp-section-label{font-size:var(--sl-text-xs);font-weight:var(--sl-font-semibold);color:var(--sl-text-muted);text-transform:uppercase;letter-spacing:.07em}.mp-divider{height:1px;background:var(--sl-border);margin:2px 0}.mp-button-row{display:flex;gap:var(--sl-space-2)}.mp-button-row .sl-btn{flex:1;justify-content:center}.mp-empty-text{font-size:var(--sl-text-sm);color:var(--sl-text-muted);text-align:center;padding:var(--sl-space-4) 0;margin:0}.mp-sync-time{font-size:var(--sl-text-xs);color:var(--sl-text-muted);text-align:center;margin:0}.mp-connection-status{display:flex;align-items:center;gap:var(--sl-space-2);font-size:var(--sl-text-xs);font-weight:var(--sl-font-medium);padding:var(--sl-space-2) var(--sl-space-3);border-radius:var(--sl-radius-md);background:var(--sl-bg-tertiary)}.mp-connection-status--ok{background:#27ae6014;color:#27ae60}.mp-connection-status--off{background:#eb575714;color:#eb5757}.mp-connection-status--warn{background:#f59e0b14;color:#d97706}.mp-health-warning{padding:var(--sl-space-2) var(--sl-space-3);border-radius:var(--sl-radius-md);font-size:12px;line-height:1.4}.mp-health-warning--circuit{background:#fffbeb;border:1px solid #fbbf24;color:#92400e}.mp-health-warning--error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.mp-health-warning--generic{background:#fffbeb;border:1px solid #fbbf24;color:#92400e}.status-dot--warning{background-color:#f59e0b}.kpi-card{display:flex;flex-direction:column;gap:10px;padding:var(--card-pad-lg);min-width:0}.kpi-card__header{display:flex;align-items:center;justify-content:space-between}.kpi-card__title{font-size:13px;font-weight:var(--sl-font-medium);color:var(--text-secondary);letter-spacing:.01em}.kpi-card__icon{display:flex;align-items:center;color:var(--text-muted)}.kpi-card__value-row{display:flex;align-items:baseline;gap:6px}.kpi-card__value{font-size:22px;font-weight:var(--sl-font-semibold);color:var(--text-main);line-height:1;font-variant-numeric:tabular-nums}.kpi-card__unit{font-size:13px;font-weight:var(--sl-font-medium);color:var(--text-muted)}.kpi-card__meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.kpi-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--sl-radius-full);font-size:11px;font-weight:var(--sl-font-medium);letter-spacing:.01em}.kpi-chip--muted{background:var(--gray-100);color:var(--text-secondary)}.kpi-chip--status.kpi-chip--active{background:#27ae601a;color:var(--green)}.kpi-chip--status.kpi-chip--warning{background:#f2994a1f;color:var(--orange)}.kpi-chip--status.kpi-chip--fault{background:#eb57571a;color:var(--red)}.kpi-chip--status.kpi-chip--idle{background:var(--gray-100);color:var(--gray-500)}.pf-card{display:flex;flex-direction:column;gap:8px;padding:var(--card-pad-lg)}.pf-card__header{display:flex;align-items:center;justify-content:space-between}.pf-card__title{font-size:13px;font-weight:var(--sl-font-semibold);color:var(--text-main)}.pf-card__live{font-size:11px;font-weight:var(--sl-font-medium);color:var(--green);letter-spacing:.02em}.pf-svg{display:block;overflow:visible}.pf-node__value{font-variant-numeric:tabular-nums}.pf-flow-line{animation:dash-flow 1.6s linear infinite}.pf-flow-line--grid{animation-direction:reverse}@keyframes dash-flow{to{stroke-dashoffset:-28}}.alerts-card{display:flex;flex-direction:column;padding:var(--card-pad-lg);gap:12px}.alerts-card__header{display:flex;align-items:center;justify-content:space-between}.alerts-card__title{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:var(--sl-font-semibold);color:var(--text-main)}.alerts-card__count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:#eb57571f;color:var(--red);border-radius:var(--sl-radius-full);font-size:11px;font-weight:var(--sl-font-semibold)}.alerts-card__viewall{display:flex;align-items:center;gap:3px;font-size:11px;font-weight:var(--sl-font-medium);color:var(--primary-blue);background:none;border:none;cursor:pointer;padding:0;transition:opacity .12s}.alerts-card__viewall:hover{opacity:.7}.alerts-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px 0;color:var(--text-muted);font-size:13px}.alerts-list{list-style:none;display:flex;flex-direction:column;gap:2px;margin:0;padding:0}.alert-item__btn{display:flex;align-items:center;gap:10px;width:100%;padding:10px 8px;background:none;border:none;border-radius:var(--r-md);cursor:pointer;text-align:left;transition:background-color .12s var(--ease-out)}.alert-item__btn:hover{background:var(--gray-50)}.alert-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.alert-dot--critical{background:var(--red)}.alert-dot--warning{background:var(--orange)}.alert-dot--info{background:var(--primary-blue)}.alert-dot--ok{background:var(--green)}.alert-item__body{flex:1;min-width:0}.alert-item__source{font-size:11px;font-weight:var(--sl-font-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;line-height:1.2}.alert-item__title{font-size:13px;font-weight:var(--sl-font-medium);color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.alert-item__right{display:flex;align-items:center;gap:4px;flex-shrink:0}.alert-item__time{font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums}.alert-item__chevron{color:var(--gray-400)}.echart-card{display:flex;flex-direction:column;gap:12px;padding:var(--card-pad-lg)}.echart-header{display:flex;align-items:center;justify-content:space-between}.echart-title{font-size:13px;font-weight:var(--sl-font-semibold);color:var(--text-main)}.echart-header__right{display:flex;align-items:center;gap:6px}.echart-total{font-size:13px;font-weight:var(--sl-font-semibold);color:var(--primary-blue);font-variant-numeric:tabular-nums}.echart-legend-dot{width:8px;height:8px;border-radius:50%;background:var(--primary-blue);opacity:.7}.echart-legend-label{font-size:11px;color:var(--text-muted)}.echart-svg{display:block;overflow:visible;cursor:crosshair}.tile-grid-wrapper{display:flex;flex-direction:column;gap:12px}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px}.pv-tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:var(--r-tile);border:none;cursor:pointer;padding:10px 6px 8px;min-height:72px;transition:transform .12s var(--ease-out),box-shadow .12s var(--ease-out),background-color .12s var(--ease-out)}.pv-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}.pv-tile:active{transform:scale(.96);transition-duration:60ms}.pv-tile--active{background:var(--primary-blue);color:var(--text-inverted)}.pv-tile--active .pv-tile__unit,.pv-tile--active .pv-tile__label{color:#ffffffb3}.pv-tile--idle{background:var(--gray-200);color:var(--gray-500)}.pv-tile--idle .pv-tile__unit,.pv-tile--idle .pv-tile__label{color:var(--gray-400)}.pv-tile--fault{background:var(--red);color:var(--text-inverted)}.pv-tile--fault .pv-tile__unit,.pv-tile--fault .pv-tile__label{color:#ffffffb3}.pv-tile--selected.pv-tile--active{background:var(--primary-blue-soft);color:var(--primary-blue);outline:2px solid var(--primary-blue);outline-offset:0px}.pv-tile--selected.pv-tile--active .pv-tile__unit,.pv-tile--selected.pv-tile--active .pv-tile__label{color:var(--primary-blue);opacity:.7}.pv-tile--selected.pv-tile--idle{background:var(--primary-blue-soft);color:var(--primary-blue);outline:2px solid var(--primary-blue)}.pv-tile--selected.pv-tile--fault{outline:2px solid var(--red);outline-offset:0px}.pv-tile__value{font-size:18px;font-weight:var(--sl-font-semibold);line-height:1;font-variant-numeric:tabular-nums}.pv-tile__unit{font-size:10px;font-weight:var(--sl-font-medium);line-height:1}.pv-tile__label{font-size:10px;line-height:1;margin-top:2px}.pv-tile__fault-icon{font-size:20px;font-weight:var(--sl-font-bold);line-height:1}.tile-legend{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.tile-legend-item{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-muted)}.tile-legend-item:before{content:"";width:10px;height:10px;border-radius:3px;flex-shrink:0}.tile-legend-item--active:before{background:var(--primary-blue)}.tile-legend-item--idle:before{background:var(--gray-200)}.tile-legend-item--fault:before{background:var(--red)}.tile-legend-item--selected:before{background:var(--primary-blue-soft);outline:2px solid var(--primary-blue)}.tree-panel{display:flex;flex-direction:column;height:100%;background:var(--bg-card);border-radius:var(--r-card);box-shadow:var(--shadow-card);overflow:hidden}.tree-search{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid rgba(0,0,0,.05);flex-shrink:0}.tree-search__icon{color:var(--text-muted);flex-shrink:0}.tree-search__input{flex:1;background:none;border:none;outline:none;font-size:13px;color:var(--text-main);font-family:var(--font-main)}.tree-search__input::placeholder{color:var(--text-muted)}.tree-body{flex:1;overflow-y:auto;padding:6px 0}.tree-group{display:flex;flex-direction:column}.tree-row{display:flex;align-items:center;gap:7px;width:100%;height:36px;padding:0 12px;background:none;border:none;cursor:pointer;text-align:left;transition:background-color .1s var(--ease-out);border-radius:0}.tree-row:hover{background:var(--gray-50)}.tree-row--selected{background:var(--primary-blue-soft)!important;color:var(--primary-blue)}.tree-row--selected .tree-row__label{color:var(--primary-blue);font-weight:var(--sl-font-semibold)}.tree-row--inverter{font-size:13px;font-weight:var(--sl-font-semibold);color:var(--text-main)}.tree-children{padding-left:24px}.tree-row--string{font-size:13px;color:var(--text-secondary)}.tree-chevron{flex-shrink:0;color:var(--text-muted);transition:transform .15s var(--ease-out)}.tree-chevron--open{transform:rotate(0)}.tree-chevron:not(.tree-chevron--open){transform:rotate(-90deg)}.tree-status{width:7px;height:7px;border-radius:50%;flex-shrink:0}.tree-status--active{background:var(--green)}.tree-status--idle{background:var(--gray-400)}.tree-status--fault{background:var(--red)}.tree-status--warning{background:var(--orange)}.tree-row__label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-row__value{font-size:12px;font-variant-numeric:tabular-nums;flex-shrink:0}.tree-row__value--active{color:var(--text-muted)}.tree-row__value--idle{color:var(--gray-400)}.tree-row__value--fault{color:var(--red);font-weight:var(--sl-font-semibold)}.tree-badge{font-size:10px;font-weight:var(--sl-font-medium);padding:1px 6px;border-radius:var(--sl-radius-full);flex-shrink:0;text-transform:capitalize}.tree-badge--active{background:#27ae601a;color:var(--green)}.tree-badge--idle{background:var(--gray-100);color:var(--gray-500)}.tree-badge--fault{background:#eb57571a;color:var(--red)}.tree-badge--warning{background:#f2994a1f;color:var(--orange)}.tree-empty{padding:24px 16px;font-size:13px;color:var(--text-muted);text-align:center}.insp-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--sl-z-panel) - 1)}.insp-drawer{position:fixed;top:0;right:0;bottom:0;width:340px;background:var(--bg-card);box-shadow:-4px 0 32px #0000001a;z-index:var(--sl-z-panel);display:flex;flex-direction:column;transform:translate(100%);transition:transform .22s var(--ease-out);overflow:hidden}.insp-drawer--open{transform:translate(0)}.insp-header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px;border-bottom:1px solid rgba(0,0,0,.06);flex-shrink:0}.insp-header__left{display:flex;flex-direction:column;gap:6px}.insp-header__title{font-size:16px;font-weight:var(--sl-font-semibold);color:var(--text-main);margin:0}.insp-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--r-md);background:none;border:none;color:var(--text-muted);cursor:pointer;flex-shrink:0;transition:background-color .12s,color .12s}.insp-close:hover{background:var(--gray-100);color:var(--text-main)}.insp-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:var(--sl-radius-full);font-size:11px;font-weight:var(--sl-font-medium)}.insp-badge__dot{width:6px;height:6px;border-radius:50%;background:currentColor}.insp-badge--active{background:#27ae601a;color:var(--green)}.insp-badge--idle{background:var(--gray-100);color:var(--gray-500)}.insp-badge--fault{background:#eb57571a;color:var(--red)}.insp-badge--warning{background:#f2994a1f;color:var(--orange)}.insp-body{flex:1;overflow-y:auto;padding:0 20px 20px;display:flex;flex-direction:column;gap:0}.insp-section{padding:16px 0;border-bottom:1px solid rgba(0,0,0,.05)}.insp-section:last-child{border-bottom:none}.insp-section__title{font-size:10px;font-weight:var(--sl-font-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin:0 0 10px}.insp-field{display:flex;align-items:center;justify-content:space-between;min-height:28px;gap:8px}.insp-field+.insp-field{border-top:1px solid rgba(0,0,0,.04)}.insp-field__label{font-size:13px;color:var(--text-secondary)}.insp-field__value{font-size:13px;font-weight:var(--sl-font-medium);color:var(--text-main);font-variant-numeric:tabular-nums}.site-card{display:flex;flex-direction:column;padding:0;overflow:hidden}.site-card__image{width:100%;height:120px;flex-shrink:0;overflow:hidden}.site-card__img{width:100%;height:100%;object-fit:cover}.site-card__placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--primary-blue-soft) 0%,var(--gray-100) 100%);display:flex;align-items:center;justify-content:center;color:var(--primary-blue);opacity:.7}.site-card__body{display:flex;flex-direction:column;gap:12px;padding:var(--card-pad)}.site-card__name-row{display:flex;flex-direction:column;gap:3px}.site-card__name{font-size:14px;font-weight:var(--sl-font-semibold);color:var(--text-main);margin:0}.site-card__location{font-size:12px;color:var(--text-muted)}.site-card__stats{display:flex;flex-direction:column;gap:8px}.site-stat{display:flex;align-items:center;justify-content:space-between}.site-stat__label{font-size:12px;color:var(--text-muted)}.site-stat__value{font-size:12px;font-weight:var(--sl-font-medium);color:var(--text-main);font-variant-numeric:tabular-nums}.site-stat__value--highlight{color:var(--primary-blue)}.arm-form{display:flex;flex-direction:column;gap:14px}.arm-row{display:flex;flex-direction:column;gap:4px}.arm-row--inline{flex-direction:row;align-items:center;gap:8px}.arm-label{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.arm-input,.arm-select{padding:6px 10px;font-size:13px;border:1px solid var(--sl-border);border-radius:var(--r-sm);background:var(--bg-card);color:var(--text-main);outline:none;transition:border-color var(--sl-transition-fast)}.arm-input:focus,.arm-select:focus{border-color:#2563eb}.arm-input--sm{width:80px}.arm-input--md{width:120px}.arm-radios{display:flex;gap:12px}.arm-radio{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-main);cursor:pointer}.arm-radio input[type=radio]{accent-color:#2563eb}.arm-severity{display:flex;gap:6px}.arm-severity__pill{padding:4px 12px;font-size:11px;font-weight:600;border:1px solid var(--sl-border);border-radius:12px;background:transparent;cursor:pointer;transition:all var(--sl-transition-fast)}.arm-severity__pill--warning.arm-severity__pill--active{background:#eab30826;border-color:#eab308;color:#ca8a04}.arm-severity__pill--critical.arm-severity__pill--active{background:#ef444426;border-color:#ef4444;color:#dc2626}.arm-divider{height:1px;background:var(--sl-border);margin:2px 0}.arm-vars{display:flex;flex-direction:column;gap:6px}.arm-var-row{display:flex;align-items:center;gap:6px}.arm-var-name{font-size:12px;font-weight:700;color:#2563eb;min-width:24px}.arm-var-eq{font-size:12px;color:var(--text-muted)}.arm-var-remove{width:20px;height:20px;border:none;background:none;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;justify-content:center;border-radius:var(--r-sm)}.arm-var-remove:hover{background:#fef2f2;color:var(--red)}.arm-conds{display:flex;flex-direction:column;gap:6px}.arm-cond-row{display:flex;align-items:center;gap:6px}.arm-cond-combinator{font-size:10px;font-weight:700;color:var(--text-muted);min-width:30px;text-align:center}.arm-add-btn{display:flex;align-items:center;gap:4px;padding:4px 10px;font-size:11px;border:1px dashed var(--sl-border);border-radius:var(--r-sm);background:transparent;cursor:pointer;color:var(--text-secondary);align-self:flex-start;transition:all var(--sl-transition-fast)}.arm-add-btn:hover{border-color:var(--text-secondary);color:var(--text-main)}.arm-preview{font-size:12px;padding:8px 12px;background:var(--sl-bg-tertiary);border-radius:var(--r-sm);color:var(--text-secondary);font-family:monospace;white-space:pre-wrap;word-break:break-all}.arm-combo{position:relative}.arm-combo .arm-input{width:100%}.arm-combo__list{position:absolute;top:100%;left:0;right:0;max-height:180px;overflow-y:auto;background:var(--bg-card);border:1px solid var(--sl-border);border-top:none;border-radius:0 0 var(--r-sm) var(--r-sm);box-shadow:0 4px 12px #0000001f;z-index:10}.arm-combo__item{display:block;width:100%;padding:5px 10px;font-size:12px;text-align:left;border:none;background:none;cursor:pointer;color:var(--text-main);font-family:monospace}.arm-combo__item:hover{background:var(--sl-bg-hover)}.arm-combo__item--active{background:#2563eb14;color:#2563eb;font-weight:600}.arm-exclusions{display:flex;flex-direction:column;gap:6px}.arm-excl-row{display:flex;align-items:center;gap:6px}.arm-hint{font-size:10px;color:var(--text-muted)}.project-select{display:flex;flex-direction:column;gap:var(--sl-space-3);min-height:300px}.project-select__toolbar{display:flex;align-items:center;gap:var(--sl-space-3)}.project-select__search{flex:1;position:relative}.project-select__search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--sl-text-muted);pointer-events:none}.project-select__search-input{width:100%;padding:8px 12px 8px 34px;border:1px solid var(--sl-border);border-radius:8px;font-size:13px;font-family:var(--sl-font-body);background:var(--sl-bg-secondary);color:var(--sl-text-primary);outline:none;transition:border-color .15s}.project-select__search-input:focus{border-color:var(--sl-accent);box-shadow:0 0 0 3px #2f80ff1a}.project-select__search-input::placeholder{color:var(--sl-text-muted)}.project-select__actions{display:flex;gap:var(--sl-space-2);flex-shrink:0}.project-select__error{padding:8px 12px;background:#eb575714;border:1px solid rgba(235,87,87,.2);border-radius:8px;font-size:13px;color:var(--sl-danger)}.project-select__new-form{padding:var(--sl-space-3);background:var(--sl-bg-secondary);border:1px solid var(--sl-border);border-radius:10px;display:flex;flex-direction:column;gap:var(--sl-space-2)}.project-select__new-form-row{display:flex;gap:var(--sl-space-2)}.project-select__input,.project-select__select{flex:1;padding:8px 12px;border:1px solid var(--sl-border);border-radius:8px;font-size:13px;font-family:var(--sl-font-body);background:var(--sl-bg-elevated);color:var(--sl-text-primary);outline:none;transition:border-color .15s}.project-select__input:focus,.project-select__select:focus{border-color:var(--sl-accent)}.project-select__new-form-actions{display:flex;gap:var(--sl-space-2);justify-content:flex-end}.project-select__list{display:flex;flex-direction:column;gap:2px;max-height:400px;overflow-y:auto}.project-select__empty{padding:var(--sl-space-8) var(--sl-space-4);text-align:center;color:var(--sl-text-muted);font-size:14px}.project-select__item{display:flex;align-items:center;gap:var(--sl-space-3);padding:var(--sl-space-3);border:1px solid transparent;border-radius:10px;background:transparent;cursor:pointer;text-align:left;width:100%;transition:all .15s;font-family:var(--sl-font-body)}.project-select__item:hover{background:var(--sl-bg-hover);border-color:var(--sl-border)}.project-select__item--disabled{opacity:.6;cursor:wait;pointer-events:none}.project-select__item-icon{width:36px;height:36px;border-radius:8px;background:var(--sl-bg-secondary);display:flex;align-items:center;justify-content:center;color:var(--sl-accent);flex-shrink:0}.project-select__item-info{flex:1;min-width:0}.project-select__item-name{font-size:14px;font-weight:600;color:var(--sl-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-select__item-meta{display:flex;gap:var(--sl-space-2);font-size:12px;color:var(--sl-text-muted);margin-top:2px}.project-select__item-meta span:not(:last-child):after{content:"·";margin-left:var(--sl-space-2)}.project-select__item-delete{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:var(--sl-text-muted);cursor:pointer;flex-shrink:0;opacity:0;transition:opacity .15s,color .15s,background .15s}.project-select__item:hover .project-select__item-delete{opacity:1}.project-select__item-delete:hover{color:var(--sl-danger, #eb5757);background:#eb57571a}.project-select__item-action{color:var(--sl-text-muted);flex-shrink:0}.project-select__loading-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sl-space-4);padding:var(--sl-space-12, 48px) var(--sl-space-4);min-height:200px}.project-select__loading-label{font-size:14px;font-weight:500;color:var(--sl-text-secondary, #aaa)}.project-select__spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--sl-border);border-top-color:var(--sl-accent);border-radius:50%;animation:project-select-spin .6s linear infinite}.project-select__spinner--lg{width:32px;height:32px;border-width:3px}@keyframes project-select-spin{to{transform:rotate(360deg)}}.drive-import-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--sl-z-modal-backdrop);display:flex;align-items:center;justify-content:center;padding:var(--sl-space-4);background-color:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:sl-modal-backdrop-in .2s ease-out}.drive-import-modal{background-color:var(--sl-bg-elevated);border:1px solid var(--sl-border);border-radius:var(--sl-radius-xl);width:min(720px,90vw);max-height:85vh;display:flex;flex-direction:column;color:var(--sl-text-primary);box-shadow:var(--sl-shadow-xl);animation:sl-modal-slide-in .25s var(--sl-transition-spring, ease-out);overflow:hidden}.drive-import-header{display:flex;justify-content:space-between;align-items:center;padding:var(--sl-space-4) var(--sl-space-5);border-bottom:1px solid var(--sl-border);flex-shrink:0}.drive-import-header h2{margin:0;font-family:var(--sl-font-heading);font-size:var(--sl-text-lg);font-weight:var(--sl-font-semibold);color:var(--sl-text-primary)}.drive-import-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:var(--sl-radius-md);color:var(--sl-text-secondary);cursor:pointer;font-size:20px;line-height:1;transition:all var(--sl-transition-fast)}.drive-import-close:hover{background-color:var(--sl-bg-hover);color:var(--sl-text-primary)}.drive-import-steps{display:flex;gap:var(--sl-space-1);padding:var(--sl-space-2) var(--sl-space-5);border-bottom:1px solid var(--sl-border);font-size:var(--sl-text-sm);font-family:var(--sl-font-body)}.drive-import-step{padding:3px 10px;border-radius:var(--sl-radius-full);color:var(--sl-text-muted);transition:all var(--sl-transition-fast)}.drive-import-step.active{background:var(--sl-accent);color:#fff}.drive-import-step.done{color:var(--sl-success)}.drive-import-body{padding:var(--sl-space-5);overflow-y:auto;flex:1}.drive-import-hint{color:var(--sl-text-secondary);font-size:var(--sl-text-base);margin:0 0 var(--sl-space-3)}.drive-import-url-row{display:flex;gap:var(--sl-space-2)}.drive-import-input{flex:1;padding:8px 12px;border-radius:var(--sl-radius-md);border:1px solid var(--sl-border);background:var(--sl-bg-secondary);color:var(--sl-text-primary);font-size:13px;font-family:var(--sl-font-body);outline:none;transition:border-color .15s}.drive-import-input:focus{border-color:var(--sl-accent);box-shadow:0 0 0 3px var(--sl-accent-muted)}.drive-import-input::placeholder{color:var(--sl-text-muted)}.drive-import-error{color:var(--sl-error);font-size:13px;margin:var(--sl-space-2) 0 0}.drive-import-btn{padding:7px 16px;border-radius:var(--sl-radius-md);border:1px solid var(--sl-border);background:var(--sl-bg-secondary);color:var(--sl-text-primary);font-size:13px;font-family:var(--sl-font-body);font-weight:var(--sl-font-medium);cursor:pointer;white-space:nowrap;transition:all var(--sl-transition-fast)}.drive-import-btn:hover{background:var(--sl-bg-hover);border-color:var(--sl-border-hover)}.drive-import-btn:disabled{opacity:.5;cursor:default}.drive-import-btn--primary{background:var(--sl-accent);border-color:var(--sl-accent);color:#fff}.drive-import-btn--primary:hover{background:var(--sl-accent-hover)}.drive-import-btn--danger{background:var(--sl-error);border-color:var(--sl-error);color:#fff}.drive-import-btn--danger:hover{filter:brightness(.9)}.drive-import-summary-bar{display:flex;flex-wrap:wrap;gap:var(--sl-space-2);padding:var(--sl-space-2) var(--sl-space-3);background:var(--sl-bg-tertiary);border:1px solid var(--sl-border);border-radius:var(--sl-radius-md);font-size:var(--sl-text-sm);margin-bottom:var(--sl-space-3)}.drive-import-summary-bar>span{padding:2px 8px;border-radius:var(--sl-radius-sm);background:var(--sl-bg-hover)}.drive-import-summary-size{margin-left:auto;color:var(--sl-success);background:transparent!important}.drive-import-file-list{max-height:50vh;overflow-y:auto}.drive-import-group{margin-bottom:var(--sl-space-3)}.drive-import-group h3{font-size:var(--sl-text-xs);font-weight:var(--sl-font-semibold);margin:0 0 var(--sl-space-2);color:var(--sl-text-muted);text-transform:uppercase;letter-spacing:.05em}.drive-import-file-row{display:flex;align-items:center;gap:var(--sl-space-2);padding:4px 0;font-size:13px;color:var(--sl-text-primary)}.drive-import-file-row--dimmed{opacity:.4}.drive-import-file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drive-import-file-size{color:var(--sl-text-muted);font-size:var(--sl-text-xs);white-space:nowrap}.drive-import-badge{font-size:10px;padding:1px 6px;border-radius:3px;font-weight:var(--sl-font-semibold);text-transform:uppercase;letter-spacing:.02em}.drive-import-badge--thermal{background:var(--sl-error);color:#fff}.drive-import-badge--visual{background:var(--sl-accent);color:#fff}.drive-import-badge--zoom{background:#8b5cf6;color:#fff}.drive-import-badge--srt{background:var(--sl-success);color:#fff}.drive-import-badge--video{background:var(--sl-warning);color:#000}.drive-import-pdf-select{padding:2px 6px;border-radius:var(--sl-radius-sm);border:1px solid var(--sl-border);background:var(--sl-bg-secondary);color:var(--sl-text-primary);font-size:var(--sl-text-sm);font-family:var(--sl-font-body)}.drive-import-actions{display:flex;justify-content:flex-end;gap:var(--sl-space-2);padding-top:var(--sl-space-3);border-top:1px solid var(--sl-border);margin-top:var(--sl-space-3)}.drive-import-progress-header{display:flex;justify-content:space-between;font-size:var(--sl-text-base);margin-bottom:var(--sl-space-2);color:var(--sl-text-primary)}.drive-import-current-file{color:var(--sl-text-muted);font-size:var(--sl-text-sm)}.drive-import-progress-bar{height:6px;background:var(--sl-bg-hover);border-radius:var(--sl-radius-full);overflow:hidden;margin-bottom:var(--sl-space-3)}.drive-import-progress-fill{height:100%;background:var(--sl-accent);border-radius:var(--sl-radius-full);transition:width .3s}.drive-import-progress-list{max-height:40vh;overflow-y:auto;font-size:var(--sl-text-sm)}.drive-import-progress-item{display:flex;align-items:center;gap:6px;padding:2px 0}.drive-import-progress-item--done{color:var(--sl-success)}.drive-import-progress-item--error{color:var(--sl-error)}.drive-import-progress-item--importing{color:var(--sl-accent)}.drive-import-progress-item--queued{color:var(--sl-text-muted)}.drive-import-progress-status{width:14px;text-align:center}.drive-import-progress-name{flex:1}.drive-import-progress-error{color:var(--sl-error);font-size:var(--sl-text-xs)}.drive-import-summary-result{padding:var(--sl-space-3) 0}.drive-import-stat{font-size:var(--sl-text-base);margin-bottom:var(--sl-space-2)}.drive-import-stat--success{color:var(--sl-success)}.drive-import-stat--error{color:var(--sl-error)}.drive-import-stat ul{margin:4px 0 0 16px;font-size:var(--sl-text-sm);color:var(--sl-text-secondary)}.drive-import-file-row input[type=checkbox]{accent-color:var(--sl-accent);width:14px;height:14px;flex-shrink:0}.storage-admin-modal .sl-modal__body{padding:0}.sa-content{padding:var(--card-pad);display:flex;flex-direction:column;gap:16px;min-height:300px}.sa-actions{display:flex;gap:10px;align-items:center}.sa-error{padding:10px 14px;border-radius:var(--r-md);background:color-mix(in srgb,var(--red) 12%,transparent);color:var(--red);font-size:13px;font-weight:500}.sa-summary{display:flex;gap:12px;flex-wrap:wrap}.sa-stat{display:flex;flex-direction:column;padding:10px 16px;border-radius:var(--r-md);background:var(--bg-main);min-width:100px}.sa-stat__value{font-size:20px;font-weight:700;color:var(--text-main);line-height:1.2}.sa-stat__label{font-size:11px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}.sa-stat--orphaned .sa-stat__value{color:var(--orange)}.sa-stat--size .sa-stat__value{color:var(--red)}.sa-truncated{font-size:12px;color:var(--orange);padding:6px 0}.sa-empty,.sa-idle{text-align:center;padding:40px 20px;color:var(--text-muted);font-size:14px;line-height:1.6}.sa-empty{color:var(--green);font-weight:500}.sa-list{display:flex;flex-direction:column;gap:8px}.sa-list__header{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border)}.sa-list__selected-size{font-size:12px;color:var(--text-muted)}.sa-checkbox{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--text-main);cursor:pointer}.sa-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary-blue);cursor:pointer}.sa-groups{display:flex;flex-direction:column;gap:16px;max-height:400px;overflow-y:auto}.sa-group__header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:var(--r-md);background:var(--bg-main)}.sa-group__name{font-size:13px;font-weight:600;color:var(--text-main)}.sa-group__meta{display:flex;align-items:center;gap:8px}.sa-group__count{font-size:11px;color:var(--text-muted)}.sa-group__items{display:flex;flex-direction:column;gap:1px;margin-top:4px}.sa-tag{display:inline-flex;align-items:center;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;flex-shrink:0}.sa-tag--img{background:color-mix(in srgb,var(--primary-blue) 15%,transparent);color:var(--primary-blue)}.sa-tag--vid{background:color-mix(in srgb,#9b59b6 15%,transparent);color:#9b59b6}.sa-tag--pdf{background:color-mix(in srgb,var(--red) 15%,transparent);color:var(--red)}.sa-tag--json{background:color-mix(in srgb,var(--green) 15%,transparent);color:var(--green)}.sa-tag--tiff,.sa-tag--tif{background:color-mix(in srgb,var(--orange) 15%,transparent);color:var(--orange)}.sa-tag--deleted{background:color-mix(in srgb,var(--red) 12%,transparent);color:var(--red);font-size:10px;font-weight:600;text-transform:none}.sa-tag:not([class*=--]),.sa-tag--file{background:color-mix(in srgb,var(--text-muted) 15%,transparent);color:var(--text-muted)}.sa-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:4px;transition:background var(--sl-transition-normal)}.sa-item:hover{background:var(--bg-main)}.sa-item input[type=checkbox]{width:14px;height:14px;accent-color:var(--primary-blue);cursor:pointer;flex-shrink:0}.sa-item__info{display:flex;flex-direction:column;min-width:0;flex:1}.sa-item__name{font-size:13px;color:var(--text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:none;cursor:pointer}.sa-item__name:hover{color:var(--primary-blue);text-decoration:underline}.sa-item__category{font-size:11px;color:var(--text-muted)}.sa-item__size{font-size:12px;color:var(--text-muted);flex-shrink:0;min-width:60px;text-align:right;font-variant-numeric:tabular-nums}.layout-import-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--sl-z-modal-backdrop);display:flex;align-items:center;justify-content:center;padding:var(--sl-space-4);background-color:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:sl-modal-backdrop-in .2s ease-out}.layout-import-modal{background-color:var(--sl-bg-elevated);border:1px solid var(--sl-border);border-radius:var(--sl-radius-xl);width:min(680px,90vw);max-height:85vh;display:flex;flex-direction:column;color:var(--sl-text-primary);box-shadow:var(--sl-shadow-xl);animation:sl-modal-slide-in .25s var(--sl-transition-spring, ease-out);overflow:hidden}.layout-import-header{display:flex;justify-content:space-between;align-items:center;padding:var(--sl-space-4) var(--sl-space-5);border-bottom:1px solid var(--sl-border);flex-shrink:0}.layout-import-header h2{margin:0;font-family:var(--sl-font-heading);font-size:var(--sl-text-lg);font-weight:var(--sl-font-semibold)}.layout-import-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:var(--sl-radius-md);color:var(--sl-text-secondary);cursor:pointer;font-size:20px;line-height:1;transition:all var(--sl-transition-fast)}.layout-import-close:hover{background-color:var(--sl-bg-hover);color:var(--sl-text-primary)}.layout-import-steps{display:flex;gap:var(--sl-space-1);padding:var(--sl-space-2) var(--sl-space-5);border-bottom:1px solid var(--sl-border);font-size:var(--sl-text-sm);font-family:var(--sl-font-body)}.layout-import-step{padding:3px 10px;border-radius:var(--sl-radius-full);color:var(--sl-text-tertiary);transition:all var(--sl-transition-fast)}.layout-import-step--active{background-color:var(--sl-accent);color:var(--sl-text-on-accent, #fff);font-weight:var(--sl-font-medium)}.layout-import-body{flex:1;overflow-y:auto;padding:var(--sl-space-5)}.layout-import-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sl-space-3);padding:var(--sl-space-8) var(--sl-space-5);border:2px dashed var(--sl-border);border-radius:var(--sl-radius-lg);cursor:pointer;transition:all var(--sl-transition-fast);color:var(--sl-text-secondary);text-align:center}.layout-import-dropzone:hover,.layout-import-dropzone--dragover{border-color:var(--sl-accent);background-color:rgba(var(--sl-accent-rgb, 59, 130, 246),.06);color:var(--sl-text-primary)}.layout-import-dropzone p{margin:0;font-size:var(--sl-text-base);font-weight:var(--sl-font-medium)}.layout-import-dropzone__hint{font-size:var(--sl-text-xs);color:var(--sl-text-tertiary)}.layout-import-progress{margin-top:var(--sl-space-4);display:flex;flex-direction:column;gap:var(--sl-space-2)}.layout-import-progress__bar{height:6px;background-color:var(--sl-bg-subtle);border-radius:3px;overflow:hidden}.layout-import-progress__fill{height:100%;background-color:var(--sl-accent);border-radius:3px;transition:width .3s ease}.layout-import-progress__text{font-size:var(--sl-text-sm);color:var(--sl-text-secondary);text-align:center}.layout-import-pages__hint{margin:0 0 var(--sl-space-4);font-size:var(--sl-text-sm);color:var(--sl-text-secondary)}.layout-import-page-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--sl-space-3)}.layout-import-page-thumb{display:flex;flex-direction:column;align-items:center;gap:var(--sl-space-1);padding:var(--sl-space-2);border:2px solid var(--sl-border);border-radius:var(--sl-radius-md);background:var(--sl-bg-subtle);cursor:pointer;transition:all var(--sl-transition-fast)}.layout-import-page-thumb:hover{border-color:var(--sl-accent)}.layout-import-page-thumb--selected{border-color:var(--sl-accent);background:rgba(var(--sl-accent-rgb, 59, 130, 246),.1)}.layout-import-page-thumb img{width:100%;border-radius:var(--sl-radius-sm)}.layout-import-page-thumb span{font-size:var(--sl-text-xs);color:var(--sl-text-secondary)}.layout-import-preview{margin-bottom:var(--sl-space-4);border:1px solid var(--sl-border);border-radius:var(--sl-radius-md);overflow:hidden;max-height:200px}.layout-import-preview img{width:100%;height:100%;object-fit:contain;background:#fff}.layout-import-stats{margin-bottom:var(--sl-space-4)}.layout-import-stats__header{font-size:var(--sl-text-sm);font-weight:var(--sl-font-semibold);margin-bottom:var(--sl-space-2)}.layout-import-stats__chips{display:flex;flex-wrap:wrap;gap:var(--sl-space-1)}.layout-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--sl-radius-full);font-size:var(--sl-text-xs);font-weight:var(--sl-font-medium);border:1px solid transparent}.layout-chip--string{background:#22c55e26;color:#22c55e;border-color:#22c55e4d}.layout-chip--inverter{background:#3b82f626;color:#3b82f6;border-color:#3b82f64d}.layout-chip--dccb{background:#f9731626;color:#f97316;border-color:#f973164d}.layout-chip--station{background:#ef444426;color:#ef4444;border-color:#ef44444d}.layout-chip--module{background:#a855f726;color:#a855f7;border-color:#a855f74d}.layout-chip--row{background:#ec489926;color:#ec4899;border-color:#ec48994d}.layout-chip--zone{background:#14b8a626;color:#14b8a6;border-color:#14b8a64d}.layout-chip--infra{background:#6b728026;color:#6b7280;border-color:#6b72804d}.layout-chip--unknown{background:#6b72801a;color:#9ca3af;border-color:#6b728033}.layout-import-warnings{margin-bottom:var(--sl-space-4)}.layout-import-warning{padding:var(--sl-space-2) var(--sl-space-3);background:#eab3081a;border:1px solid rgba(234,179,8,.3);border-radius:var(--sl-radius-md);font-size:var(--sl-text-sm);color:#eab308;margin-bottom:var(--sl-space-1)}.layout-import-samples{margin-bottom:var(--sl-space-2)}.layout-import-samples__header{font-size:var(--sl-text-sm);font-weight:var(--sl-font-semibold);margin-bottom:var(--sl-space-2)}.layout-import-samples__list{display:flex;flex-wrap:wrap;gap:var(--sl-space-1)}.layout-sample{display:inline-block;padding:2px 6px;border-radius:var(--sl-radius-sm);font-size:var(--sl-text-xs);font-family:var(--sl-font-mono, monospace);background:var(--sl-bg-subtle);border:1px solid var(--sl-border)}.layout-sample--string{border-color:#22c55e66}.layout-sample--inverter{border-color:#3b82f666}.layout-sample--dccb{border-color:#f9731666}.layout-sample--station{border-color:#ef444466}.layout-import-ocr-banner{display:flex;align-items:center;gap:var(--sl-space-2);padding:var(--sl-space-3);margin-bottom:var(--sl-space-4);background:#3b82f614;border:1px solid rgba(59,130,246,.25);border-radius:var(--sl-radius-md);font-size:var(--sl-text-sm);color:#60a5fa}.layout-import-ocr-banner svg{flex-shrink:0}.layout-import-ocr-banner span{flex:1}.layout-import-ocr-done{display:flex;align-items:center;gap:var(--sl-space-2);padding:var(--sl-space-2) var(--sl-space-3);margin-bottom:var(--sl-space-4);background:#22c55e14;border:1px solid rgba(34,197,94,.25);border-radius:var(--sl-radius-md);font-size:var(--sl-text-sm);color:#22c55e}.layout-import-btn--sm{padding:4px 12px;font-size:var(--sl-text-xs);white-space:nowrap;flex-shrink:0}.layout-import-error{margin-top:var(--sl-space-3);padding:var(--sl-space-2) var(--sl-space-3);background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--sl-radius-md);font-size:var(--sl-text-sm);color:#ef4444}.layout-import-footer{display:flex;justify-content:flex-end;gap:var(--sl-space-2);padding:var(--sl-space-3) var(--sl-space-5);border-top:1px solid var(--sl-border);flex-shrink:0}.layout-import-btn{padding:6px 16px;border-radius:var(--sl-radius-md);font-size:var(--sl-text-sm);font-weight:var(--sl-font-medium);cursor:pointer;border:1px solid transparent;transition:all var(--sl-transition-fast)}.layout-import-btn:disabled{opacity:.5;cursor:not-allowed}.layout-import-btn--primary{background-color:var(--sl-accent);color:var(--sl-text-on-accent, #fff);border-color:var(--sl-accent)}.layout-import-btn--primary:hover:not(:disabled){filter:brightness(1.1)}.layout-import-btn--secondary{background-color:var(--sl-bg-subtle);color:var(--sl-text-secondary);border-color:var(--sl-border)}.layout-import-btn--secondary:hover:not(:disabled){background-color:var(--sl-bg-hover);color:var(--sl-text-primary)}.ccm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:1000;display:flex;align-items:center;justify-content:center}.ccm-modal{background:var(--sl-bg-secondary, #1e1e2e);border-radius:12px;width:min(700px,90vw);max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080}.ccm-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.08)}.ccm-header h3{margin:0;font-size:16px;font-weight:600;color:#e5e7eb}.ccm-close{background:none;border:none;color:#9ca3af;font-size:24px;cursor:pointer;padding:0 4px;line-height:1}.ccm-close:hover{color:#e5e7eb}.ccm-body{flex:1;overflow-y:auto;padding:16px 20px}.ccm-section{margin-bottom:16px}.ccm-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.ccm-section-title{font-size:12px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.ccm-section-header .ccm-section-title{margin-bottom:0}.ccm-stats{display:flex;flex-wrap:wrap;gap:6px}.ccm-stat-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:4px;font-size:11px;color:#d1d5db;background:#ffffff0a;border:1px solid}.ccm-stat-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ccm-pattern-list{display:flex;flex-direction:column;gap:6px}.ccm-pattern-list--readonly{max-height:180px;overflow-y:auto}.ccm-pattern-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ccm-pattern-row--readonly{padding:4px 8px;background:#ffffff08;border-radius:4px}.ccm-pattern-regex{font-size:11px;color:#a78bfa;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ccm-pattern-level{font-size:11px;font-weight:600;flex-shrink:0}.ccm-pattern-desc{font-size:10px;color:#6b7280;flex-shrink:0}.ccm-pattern-input{flex:1;min-width:200px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:4px;padding:5px 8px;font-size:12px;font-family:monospace;color:#e5e7eb}.ccm-pattern-input:focus{outline:none;border-color:#3b82f6}.ccm-pattern-select{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:4px;padding:5px 6px;font-size:12px;color:#e5e7eb;cursor:pointer}.ccm-test-result{font-size:11px;color:#22c55e;width:100%;padding-left:4px}.ccm-test-result--error{color:#ef4444}.ccm-empty{font-size:12px;color:#6b7280;margin:0}.ccm-btn{padding:5px 12px;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;border:none;transition:opacity .15s}.ccm-btn:disabled{opacity:.5;cursor:default}.ccm-btn:hover:not(:disabled){opacity:.85}.ccm-btn--add{background:#3b82f626;color:#3b82f6;border:1px solid rgba(59,130,246,.3)}.ccm-btn--test{background:#ffffff0f;color:#9ca3af;border:1px solid rgba(255,255,255,.12);flex-shrink:0}.ccm-btn--remove{background:none;color:#6b7280;font-size:16px;padding:2px 6px;flex-shrink:0}.ccm-btn--remove:hover{color:#ef4444}.ccm-btn--preview{background:#8b5cf626;color:#8b5cf6;border:1px solid rgba(139,92,246,.3)}.ccm-btn--cancel{background:#ffffff0f;color:#9ca3af;border:1px solid rgba(255,255,255,.12)}.ccm-btn--apply{background:#22c55e;color:#fff}.ccm-footer{display:flex;align-items:center;gap:8px;padding:12px 20px;border-top:1px solid rgba(255,255,255,.08)}.ccm-footer-spacer{flex:1}.anchor-mode{display:flex;flex-direction:column;height:100%;background:var(--sl-bg-primary)}.anchor-mode__bar{display:flex;align-items:center;gap:var(--sl-space-3);padding:var(--sl-space-2) var(--sl-space-4);background:var(--sl-bg-elevated);border-bottom:1px solid var(--sl-border);flex-shrink:0;z-index:10}.anchor-mode__instructions{flex:1;font-size:var(--sl-text-sm);color:var(--sl-text-secondary);font-weight:var(--sl-font-medium)}.anchor-mode__info{display:flex;align-items:center;gap:var(--sl-space-2)}.anchor-mode__count{font-size:var(--sl-text-xs);padding:2px 8px;border-radius:var(--sl-radius-full);background:var(--sl-bg-subtle);color:var(--sl-text-secondary)}.anchor-mode__rmse{font-size:var(--sl-text-xs);padding:2px 8px;border-radius:var(--sl-radius-full);font-weight:var(--sl-font-medium)}.anchor-mode__rmse--good{background:#22c55e26;color:#22c55e}.anchor-mode__rmse--fair{background:#eab30826;color:#eab308}.anchor-mode__rmse--poor{background:#ef444426;color:#ef4444}.anchor-mode__done{padding:4px 16px;border-radius:var(--sl-radius-md);background:var(--sl-accent);color:var(--sl-text-on-accent, #fff);border:none;font-size:var(--sl-text-sm);font-weight:var(--sl-font-medium);cursor:pointer;transition:filter var(--sl-transition-fast)}.anchor-mode__done:hover{filter:brightness(1.1)}.anchor-mode__pdf{flex:1;position:relative;overflow:hidden;cursor:crosshair;background:var(--sl-bg-subtle)}.anchor-mode__pdf-content{position:absolute;top:0;left:0;will-change:transform}.anchor-mode__pdf img{max-width:none;-webkit-user-select:none;user-select:none;pointer-events:none}.anchor-mode__marker{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;z-index:5}.anchor-mode__marker--placed{width:24px;height:24px;border-radius:50%;background:#22c55e;border:2px solid #fff;box-shadow:0 1px 4px #0006;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;cursor:default}.anchor-mode__marker-delete{position:absolute;top:-6px;right:-6px;width:14px;height:14px;border-radius:50%;background:#ef4444;color:#fff;border:1px solid #fff;font-size:10px;line-height:1;cursor:pointer;display:none;align-items:center;justify-content:center;padding:0}.anchor-mode__marker--placed:hover .anchor-mode__marker-delete{display:flex}.anchor-mode__marker--pending{pointer-events:none;animation:anchor-pulse 1.2s ease-in-out infinite}@keyframes anchor-pulse{0%,to{opacity:1}50%{opacity:.5}}.anchor-mode__prompt{position:absolute;bottom:var(--sl-space-4);left:50%;transform:translate(-50%);padding:var(--sl-space-2) var(--sl-space-4);background:#ef4444e6;color:#fff;border-radius:var(--sl-radius-lg);font-size:var(--sl-text-sm);font-weight:var(--sl-font-medium);white-space:nowrap;animation:anchor-pulse 1.5s ease-in-out infinite}.anchor-mode__list{max-height:120px;overflow-y:auto;border-top:1px solid var(--sl-border);background:var(--sl-bg-elevated);flex-shrink:0}.anchor-mode__list-header{padding:var(--sl-space-1) var(--sl-space-3);font-size:var(--sl-text-xs);font-weight:var(--sl-font-semibold);color:var(--sl-text-tertiary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--sl-border)}.anchor-mode__list-empty{padding:var(--sl-space-2) var(--sl-space-3);font-size:var(--sl-text-xs);color:var(--sl-text-tertiary)}.anchor-mode__list-item{display:flex;align-items:center;gap:var(--sl-space-2);padding:var(--sl-space-1) var(--sl-space-3);font-size:var(--sl-text-xs);border-bottom:1px solid var(--sl-border)}.anchor-mode__list-item:last-child{border-bottom:none}.anchor-mode__list-num{width:18px;height:18px;border-radius:50%;background:#22c55e;color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0}.anchor-mode__list-coords{color:var(--sl-text-secondary);font-family:var(--sl-font-mono, monospace);flex:1}.anchor-mode__list-error{padding:1px 6px;border-radius:var(--sl-radius-full);font-weight:var(--sl-font-medium)}.anchor-mode__list-error--good{background:#22c55e26;color:#22c55e}.anchor-mode__list-error--fair{background:#eab30826;color:#eab308}.anchor-mode__list-error--poor{background:#ef444426;color:#ef4444}.anchor-mode__list-delete{width:18px;height:18px;border:none;background:transparent;color:var(--sl-text-tertiary);cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;border-radius:var(--sl-radius-sm);flex-shrink:0}.anchor-mode__list-delete:hover{background:#ef444426;color:#ef4444}.editor-body--anchor-mode{display:grid!important;grid-template-columns:1fr 1fr}.editor-body--anchor-mode>.rail-wrapper{display:none!important}.editor-body--anchor-mode>.map-area{grid-column:2}.photo-reg-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--sl-z-modal-backdrop);display:flex;align-items:center;justify-content:center;padding:var(--sl-space-4);background-color:#0009;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.photo-reg-container{display:flex;flex-direction:column;width:520px;max-height:calc(100vh - var(--sl-space-8));background:var(--sl-bg-elevated);border:1px solid var(--sl-border);border-radius:var(--sl-radius-xl);box-shadow:var(--sl-shadow-xl);overflow:hidden}.photo-reg-header{display:flex;align-items:center;justify-content:space-between;padding:var(--sl-space-3) var(--sl-space-4);border-bottom:1px solid var(--sl-border);flex-shrink:0}.photo-reg-header__left{display:flex;align-items:center;gap:var(--sl-space-2)}.photo-reg-title{font-family:var(--sl-font-heading);font-size:var(--sl-text-base);font-weight:var(--sl-font-semibold);color:var(--sl-text-primary)}.photo-reg-close{background:none;border:none;color:var(--sl-text-secondary);font-size:18px;cursor:pointer;padding:4px;border-radius:var(--sl-radius-md)}.photo-reg-close:hover{background:var(--sl-bg-hover);color:var(--sl-text-primary)}.photo-reg-steps{display:flex;gap:var(--sl-space-1);padding:var(--sl-space-2) var(--sl-space-4);border-bottom:1px solid var(--sl-border);background:var(--sl-bg-tertiary);flex-shrink:0}.photo-reg-step{flex:1;display:flex;align-items:center;gap:var(--sl-space-1);padding:var(--sl-space-1) var(--sl-space-2);border-radius:var(--sl-radius-sm);font-size:var(--sl-text-xs);color:var(--sl-text-tertiary);transition:all var(--sl-transition-fast)}.photo-reg-step--active{color:var(--sl-accent);font-weight:var(--sl-font-semibold);background:var(--sl-bg-elevated)}.photo-reg-step--done{color:var(--sl-text-secondary)}.photo-reg-step__num{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;border:1.5px solid currentColor;flex-shrink:0}.photo-reg-step--active .photo-reg-step__num{background:var(--sl-accent);border-color:var(--sl-accent);color:#fff}.photo-reg-step--done .photo-reg-step__num{background:var(--sl-success);border-color:var(--sl-success);color:#fff}.photo-reg-body{flex:1;padding:var(--sl-space-4);overflow-y:auto}.photo-reg-info{background:var(--sl-bg-tertiary);border:1px solid var(--sl-border);border-radius:var(--sl-radius-md);padding:var(--sl-space-3);margin-bottom:var(--sl-space-4);font-size:var(--sl-text-xs);color:var(--sl-text-secondary);line-height:1.5}.photo-reg-info strong{color:var(--sl-text-primary)}.photo-reg-flight-card{display:flex;align-items:center;justify-content:space-between;padding:var(--sl-space-3);border:1px solid var(--sl-border);border-radius:var(--sl-radius-md);margin-bottom:var(--sl-space-2);cursor:pointer;transition:all var(--sl-transition-fast)}.photo-reg-flight-card:hover{border-color:var(--sl-accent);background:var(--sl-bg-hover)}.photo-reg-flight-card--selected{border-color:var(--sl-accent);background:#3b82f614}.photo-reg-flight-card__label{font-size:var(--sl-text-sm);font-weight:var(--sl-font-semibold);color:var(--sl-text-primary)}.photo-reg-flight-card__meta{font-size:var(--sl-text-xs);color:var(--sl-text-secondary);margin-top:2px}.photo-reg-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600}.photo-reg-badge--green{background:#22c55e26;color:#16a34a}.photo-reg-badge--yellow{background:#eab30826;color:#b45309}.photo-reg-badge--gray{background:var(--sl-bg-tertiary);color:var(--sl-text-secondary)}.photo-reg-tier{border:1px solid var(--sl-border);border-radius:var(--sl-radius-md);padding:var(--sl-space-3);margin-bottom:var(--sl-space-3)}.photo-reg-tier__title{font-size:var(--sl-text-sm);font-weight:var(--sl-font-semibold);color:var(--sl-text-primary);margin-bottom:var(--sl-space-1)}.photo-reg-tier__desc{font-size:var(--sl-text-xs);color:var(--sl-text-secondary);line-height:1.4}.photo-reg-field{margin-bottom:var(--sl-space-4)}.photo-reg-field__header{display:flex;justify-content:space-between;align-items:center;font-size:var(--sl-text-xs);font-weight:var(--sl-font-semibold);color:var(--sl-text-primary);margin-bottom:var(--sl-space-1)}.photo-reg-field__value{color:var(--sl-accent);font-weight:var(--sl-font-normal)}.photo-reg-field__slider{width:100%;accent-color:var(--sl-accent)}.photo-reg-field__range{display:flex;justify-content:space-between;font-size:10px;color:var(--sl-text-tertiary);margin-top:2px}.photo-reg-heading-btns{display:flex;gap:var(--sl-space-1);margin-top:var(--sl-space-2)}.photo-reg-heading-btn{flex:1;padding:var(--sl-space-1) var(--sl-space-2);border:1px solid var(--sl-border);border-radius:var(--sl-radius-sm);background:var(--sl-bg-secondary);color:var(--sl-text-secondary);font-size:var(--sl-text-xs);cursor:pointer;text-align:center;transition:all var(--sl-transition-fast)}.photo-reg-heading-btn:hover{border-color:var(--sl-accent);color:var(--sl-text-primary)}.photo-reg-heading-btn--active{border-color:var(--sl-accent);background:#3b82f626;color:var(--sl-accent);font-weight:var(--sl-font-semibold)}.photo-reg-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sl-space-2);margin-bottom:var(--sl-space-4)}.photo-reg-stat{text-align:center;padding:var(--sl-space-2);background:var(--sl-bg-tertiary);border-radius:var(--sl-radius-md)}.photo-reg-stat__value{font-size:var(--sl-text-lg);font-weight:var(--sl-font-bold);color:var(--sl-text-primary)}.photo-reg-stat__label{font-size:10px;color:var(--sl-text-secondary);margin-top:2px}.photo-reg-footer{display:flex;justify-content:space-between;align-items:center;padding:var(--sl-space-3) var(--sl-space-4);border-top:1px solid var(--sl-border);background:var(--sl-bg-tertiary);flex-shrink:0}.photo-reg-footer__right{display:flex;gap:var(--sl-space-2)}.photo-reg-detected{display:inline-flex;align-items:center;gap:4px;font-size:var(--sl-text-xs);color:var(--sl-accent);background:#3b82f61a;padding:2px 8px;border-radius:999px;margin-left:var(--sl-space-2)}.ll-popup{position:absolute;z-index:100;background:var(--sl-bg-panel, #1e1e2e);border:1px solid rgba(255,255,255,.12);border-radius:8px;box-shadow:0 4px 20px #00000080;padding:10px 12px;min-width:220px;max-width:300px;pointer-events:auto;color:var(--sl-text, #e0e0e0);font-size:13px}.ll-popup__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.ll-popup__title{font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.ll-popup__close{background:none;border:none;color:var(--sl-text-muted);font-size:16px;cursor:pointer;padding:0 0 0 8px;line-height:1}.ll-popup__close:hover{color:#ef4444}.ll-popup__level{display:inline-block;padding:1px 6px;border-radius:4px;font-size:11px;font-weight:500;margin-bottom:6px;text-transform:capitalize}.ll-popup__field{margin-bottom:6px}.ll-popup__field label{display:block;font-size:11px;color:var(--sl-text-muted);margin-bottom:2px}.ll-popup__field input{width:100%;padding:4px 6px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:4px;color:var(--sl-text);font-size:13px;box-sizing:border-box}.ll-popup__field input:focus{outline:none;border-color:var(--sl-accent)}.ll-popup__original{font-size:11px;color:var(--sl-text-muted);margin-bottom:8px;word-break:break-all}.ll-popup__actions{display:flex;gap:6px;margin-top:8px}.ll-popup__btn{flex:1;padding:5px 0;border:none;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:opacity .15s}.ll-popup__btn:hover{opacity:.85}.ll-popup__btn--save{background:var(--sl-accent, #13d6c6);color:#000}.ll-popup__btn--move{background:#3b82f6;color:#fff}.ll-popup__btn--delete{background:#ef4444;color:#fff}.ll-popup__btn--cancel{background:#ffffff14;color:var(--sl-text-muted)}.ll-popup__btn:disabled{opacity:.4;cursor:not-allowed}.ll-popup__level-select{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.ll-popup__level-btn{display:flex;align-items:center;gap:4px;padding:3px 8px;background:#ffffff0a;border:1.5px solid transparent;border-radius:4px;font-size:11px;cursor:pointer;transition:border-color .15s,color .15s}.ll-popup__level-btn:hover,.ll-popup__level-btn--active{background:#ffffff14}.ll-popup__level-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ll-popup__move-hint{margin-top:6px;padding:6px 8px;background:#3b82f61f;border:1px solid rgba(59,130,246,.3);border-radius:4px;font-size:11px;color:#93c5fd;text-align:center}.progress-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#00000059;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:progress-overlay-fade-in .15s ease-out}@keyframes progress-overlay-fade-in{0%{opacity:0}to{opacity:1}}.progress-overlay__card{background:var(--sl-surface, #1e1e2e);border:1px solid var(--sl-border, rgba(255, 255, 255, .1));border-radius:12px;padding:20px 28px;min-width:320px;max-width:420px;box-shadow:0 8px 32px #0006}.progress-overlay__label{color:var(--sl-text, #e0e0e0);font-size:13px;font-weight:500;margin-bottom:12px;text-align:center}.progress-overlay__track{height:6px;border-radius:3px;background:#ffffff1a;overflow:hidden}.progress-overlay__fill{height:100%;border-radius:3px;background:var(--primary, #2F80FF);transition:width .3s ease;min-width:2%}.progress-overlay__pct{color:var(--sl-text-secondary, #999);font-size:11px;text-align:center;margin-top:8px}.iuo-info-bar{display:flex;flex-wrap:wrap;gap:12px;padding:10px 14px;background:#ffffff0a;border-radius:6px;margin-bottom:16px;font-size:12px;color:var(--sl-text-secondary, #94a3b8)}.iuo-info-item{display:flex;align-items:center;gap:4px}.iuo-info-item strong{color:var(--sl-text-primary, #e2e8f0);font-weight:600}.iuo-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.iuo-card{padding:16px;border-radius:8px;border:2px solid rgba(255,255,255,.08);background:#ffffff08;cursor:pointer;transition:border-color .15s,background .15s}.iuo-card:hover:not(.iuo-card--disabled){border-color:#fff3;background:#ffffff0f}.iuo-card--hd:hover:not(.iuo-card--disabled){border-color:#3b82f680}.iuo-card--disabled{opacity:.45;cursor:not-allowed}.iuo-card__header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.iuo-card__icon{width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.iuo-card--hd .iuo-card__icon{background:#3b82f626;color:#60a5fa}.iuo-card--fast .iuo-card__icon{background:#94a3b826;color:#94a3b8}.iuo-card__title{font-size:14px;font-weight:600;color:var(--sl-text-primary, #e2e8f0)}.iuo-card__bullets{list-style:none;padding:0;margin:0 0 10px}.iuo-card__bullets li{font-size:12px;color:var(--sl-text-secondary, #94a3b8);padding:2px 0 2px 16px;position:relative}.iuo-card__bullets li:before{content:"•";position:absolute;left:4px;color:var(--sl-text-secondary, #64748b)}.iuo-card__tag{display:inline-block;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;border-radius:4px}.iuo-card--hd .iuo-card__tag{background:#3b82f626;color:#60a5fa}.iuo-card--fast .iuo-card__tag{background:#94a3b81a;color:#94a3b8}.iuo-card__disabled-note{font-size:11px;color:#f59e0b;margin-top:8px}.mapboxgl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0 0 0/0)}.mapboxgl-canvas{left:0;position:absolute;top:0}.mapboxgl-map:-webkit-full-screen{height:100%;width:100%}.mapboxgl-canary{background-color:salmon}.mapboxgl-canvas-container.mapboxgl-interactive,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass{cursor:grab;-webkit-user-select:none;user-select:none}.mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer{cursor:pointer}.mapboxgl-canvas-container.mapboxgl-interactive:active,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active{cursor:grabbing}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-canvas-container.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:pinch-zoom}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:none}.mapboxgl-ctrl-bottom,.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.mapboxgl-ctrl-left,.mapboxgl-ctrl-right,.mapboxgl-ctrl-top,.mapboxgl-ctrl-top-left,.mapboxgl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.mapboxgl-ctrl-top-left{left:0;top:0}.mapboxgl-ctrl-top{left:50%;top:0;transform:translate(-50%)}.mapboxgl-ctrl-top-right{right:0;top:0}.mapboxgl-ctrl-right{right:0;top:50%;transform:translateY(-50%)}.mapboxgl-ctrl-bottom-right{bottom:0;right:0}.mapboxgl-ctrl-bottom{bottom:0;left:50%;transform:translate(-50%)}.mapboxgl-ctrl-bottom-left{bottom:0;left:0}.mapboxgl-ctrl-left{left:0;top:50%;transform:translateY(-50%)}.mapboxgl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.mapboxgl-ctrl-top-left .mapboxgl-ctrl{float:left;margin:10px 0 0 10px}.mapboxgl-ctrl-top .mapboxgl-ctrl{float:left;margin:10px 0}.mapboxgl-ctrl-top-right .mapboxgl-ctrl{float:right;margin:10px 10px 0 0}.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl,.mapboxgl-ctrl-right .mapboxgl-ctrl{float:right;margin:0 10px 10px 0}.mapboxgl-ctrl-bottom .mapboxgl-ctrl{float:left;margin:10px 0}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl,.mapboxgl-ctrl-left .mapboxgl-ctrl{float:left;margin:0 0 10px 10px}.mapboxgl-ctrl-group{background:#fff;border-radius:4px}.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px #0000001a}@media(-ms-high-contrast:active){.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.mapboxgl-ctrl-group button{background-color:initial;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;overflow:hidden;padding:0;width:29px}.mapboxgl-ctrl-group button+button{border-top:1px solid #ddd}.mapboxgl-ctrl button .mapboxgl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media(-ms-high-contrast:active){.mapboxgl-ctrl-icon{background-color:initial}.mapboxgl-ctrl-group button+button{border-top:1px solid ButtonText}}.mapboxgl-ctrl-attrib-button:focus,.mapboxgl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl button:disabled{cursor:not-allowed}.mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon{opacity:.25}.mapboxgl-ctrl-group button:first-child{border-radius:4px 4px 0 0}.mapboxgl-ctrl-group button:last-child{border-radius:0 0 4px 4px}.mapboxgl-ctrl-group button:only-child{border-radius:inherit}.mapboxgl-ctrl button:not(:disabled):hover{background-color:#0000000d}.mapboxgl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}@media(-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}@media(-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}@media(-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}@media(-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}@media(-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23999'/%3E%3C/svg%3E")}}@media(-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-buildings-toggle .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='none' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath d='M3.3335 11.6666C3.3335 12.5871 4.07969 13.3333 5.00016 13.3333C5.92064 13.3333 6.66683 12.5871 6.66683 11.6666L6.66683 6.66659L11.6668 6.66659C12.5873 6.66659 13.3335 5.92039 13.3335 4.99992C13.3335 4.07944 12.5873 3.33325 11.6668 3.33325H3.3335V11.6666Z' fill='currentColor'/%3E%3Cpath d='M26.6668 11.6666C26.6668 12.5871 25.9206 13.3333 25.0002 13.3333C24.0797 13.3333 23.3335 12.5871 23.3335 11.6666L23.3335 6.66659L18.3335 6.66659C17.413 6.66659 16.6668 5.92039 16.6668 4.99992C16.6668 4.07944 17.413 3.33325 18.3335 3.33325H26.6668L26.6668 11.6666Z' fill='currentColor'/%3E%3Cpath d='M13.3335 24.9999C13.3335 25.9204 12.5873 26.6666 11.6668 26.6666H3.3335V18.3333C3.3335 17.4128 4.07969 16.6666 5.00016 16.6666C5.92064 16.6666 6.66683 17.4128 6.66683 18.3333V23.3333H11.6668C12.5873 23.3333 13.3335 24.0794 13.3335 24.9999Z' fill='currentColor'/%3E%3Cpath d='M18.3335 26.6666C17.413 26.6666 16.6668 25.9204 16.6668 24.9999C16.6668 24.0794 17.413 23.3333 18.3335 23.3333H23.3335V18.3333C23.3335 17.4128 24.0797 16.6666 25.0002 16.6666C25.9206 16.6666 26.6668 17.4128 26.6668 18.3333V26.6666H18.3335Z' fill='currentColor'/%3E%3C/svg%3E");background-size:26px 26px}.mapboxgl-ctrl button.mapboxgl-ctrl-buildings-toggle.mapboxgl-ctrl-level-button-selected .mapboxgl-ctrl-icon{filter:invert(1) brightness(1)}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting .mapboxgl-ctrl-icon{animation:mapboxgl-spin 2s linear infinite}@media(-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23999'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}}@media(-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23000'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23666'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}}@keyframes mapboxgl-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='0.3' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='0.9' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.mapboxgl-ctrl-logo.mapboxgl-compact{width:23px}@media(-ms-high-contrast:active){a.mapboxgl-ctrl-logo{background-color:initial;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E")}}@media(-ms-high-contrast:black-on-white){a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23fff' stroke-width='3' fill='%23fff'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23000'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E")}}.mapboxgl-ctrl.mapboxgl-ctrl-attrib{background-color:#ffffff80;margin:0;padding:0 5px}@media screen{.mapboxgl-ctrl-attrib.mapboxgl-compact{background-color:#fff;border-radius:12px;box-sizing:initial;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.mapboxgl-ctrl-attrib.mapboxgl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner{display:none}.mapboxgl-ctrl-attrib-button{background-color:#ffffff80;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-top-left .mapboxgl-ctrl-attrib-button{left:0}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner{display:block}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button{background-color:#0000000d}.mapboxgl-ctrl-bottom-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;right:0}.mapboxgl-ctrl-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0}.mapboxgl-ctrl-top-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0;top:0}.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0;top:0}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;left:0}.mapboxgl-ctrl-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0}}@media screen and (-ms-high-contrast:active){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' fill='%23fff'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (-ms-high-contrast:black-on-white){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.mapboxgl-ctrl-attrib a{color:#000000bf;text-decoration:none}.mapboxgl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.mapboxgl-ctrl-attrib .mapbox-improve-map{font-weight:700;margin-left:2px}.mapboxgl-attrib-empty{display:none}.mapboxgl-ctrl-scale{background-color:#ffffffbf;border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px;white-space:nowrap}.mapboxgl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.mapboxgl-popup-anchor-top,.mapboxgl-popup-anchor-top-left,.mapboxgl-popup-anchor-top-right{flex-direction:column}.mapboxgl-popup-anchor-bottom,.mapboxgl-popup-anchor-bottom-left,.mapboxgl-popup-anchor-bottom-right{flex-direction:column-reverse}.mapboxgl-popup-anchor-left{flex-direction:row}.mapboxgl-popup-anchor-right{flex-direction:row-reverse}.mapboxgl-popup-tip{border:10px solid #0000;height:0;width:0;z-index:1}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.mapboxgl-popup-close-button{background-color:initial;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.mapboxgl-popup-close-button:hover{background-color:#0000000d}.mapboxgl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px #0000001a;padding:10px 10px 15px;pointer-events:auto;position:relative}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content{border-top-left-radius:0}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content{border-top-right-radius:0}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content{border-bottom-left-radius:0}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content{border-bottom-right-radius:0}.mapboxgl-popup-track-pointer{display:none}.mapboxgl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;user-select:none}.mapboxgl-map:hover .mapboxgl-popup-track-pointer{display:flex}.mapboxgl-map:active .mapboxgl-popup-track-pointer{display:none}.mapboxgl-marker{left:0;opacity:1;position:absolute;top:0;transition:opacity .2s;will-change:transform}.mapboxgl-user-location-dot,.mapboxgl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.mapboxgl-user-location-dot:before{animation:mapboxgl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.mapboxgl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px #00000059;box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading{height:0;width:0}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after,.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-bottom:7.5px solid #4aa1eb;content:"";position:absolute}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-left:7.5px solid #0000;transform:translateY(-28px) skewY(-20deg)}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after{border-right:7.5px solid #0000;transform:translate(7.5px,-28px) skewY(20deg)}@keyframes mapboxgl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.mapboxgl-user-location-dot-stale{background-color:#aaa}.mapboxgl-user-location-dot-stale:after{display:none}.mapboxgl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.mapboxgl-crosshair,.mapboxgl-crosshair .mapboxgl-interactive,.mapboxgl-crosshair .mapboxgl-interactive:active{cursor:crosshair}.mapboxgl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}@media print{.mapbox-improve-map{display:none}}.mapboxgl-scroll-zoom-blocker,.mapboxgl-touch-pan-blocker{align-items:center;background:#000000b3;color:#fff;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;height:100%;justify-content:center;left:0;opacity:0;pointer-events:none;position:absolute;text-align:center;top:0;transition:opacity .75s ease-in-out;transition-delay:1s;width:100%}.mapboxgl-scroll-zoom-blocker-show,.mapboxgl-touch-pan-blocker-show{opacity:1;transition:opacity .1s ease-in-out}.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page,.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-ctrl-separator{background-color:#e0e0e0;height:1px}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button{align-items:center;color:#333;display:flex;font-size:18px;font-weight:700;height:50px;justify-content:center;line-height:normal;padding:0;text-align:center;width:50px}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button:first-child{border-top-left-radius:8px;border-top-right-radius:8px}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button:last-child{border-bottom-left-radius:8px;border-bottom-right-radius:8px}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button:hover{background-color:#f5f5f5}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button-selected{background-color:#4a5568;color:#fff}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button-selected:hover{background-color:#2d3748}.mapbox-gl-draw_ctrl-bottom-left,.mapbox-gl-draw_ctrl-top-left{margin-left:0;border-radius:0 4px 4px 0}.mapbox-gl-draw_ctrl-top-right,.mapbox-gl-draw_ctrl-bottom-right{margin-right:0;border-radius:4px 0 0 4px}.mapbox-gl-draw_ctrl-draw-btn{border-color:#000000e6;color:#ffffff80;width:30px;height:30px}.mapbox-gl-draw_ctrl-draw-btn.active,.mapbox-gl-draw_ctrl-draw-btn.active:hover{background-color:#0000000d}.mapbox-gl-draw_ctrl-draw-btn{background-repeat:no-repeat;background-position:center}.mapbox-gl-draw_point{background-image:url('data:image/svg+xml;utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="20" height="20">%3Cpath d="m10 2c-3.3 0-6 2.7-6 6s6 9 6 9 6-5.7 6-9-2.7-6-6-6zm0 2c2.1 0 3.8 1.7 3.8 3.8 0 1.5-1.8 3.9-2.9 5.2h-1.7c-1.1-1.4-2.9-3.8-2.9-5.2-.1-2.1 1.6-3.8 3.7-3.8z"/>%3C/svg>')}.mapbox-gl-draw_polygon{background-image:url('data:image/svg+xml;utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="20" height="20">%3Cpath d="m15 12.3v-4.6c.6-.3 1-1 1-1.7 0-1.1-.9-2-2-2-.7 0-1.4.4-1.7 1h-4.6c-.3-.6-1-1-1.7-1-1.1 0-2 .9-2 2 0 .7.4 1.4 1 1.7v4.6c-.6.3-1 1-1 1.7 0 1.1.9 2 2 2 .7 0 1.4-.4 1.7-1h4.6c.3.6 1 1 1.7 1 1.1 0 2-.9 2-2 0-.7-.4-1.4-1-1.7zm-8-.3v-4l1-1h4l1 1v4l-1 1h-4z"/>%3C/svg>')}.mapbox-gl-draw_line{background-image:url('data:image/svg+xml;utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="20" height="20">%3Cpath d="m13.5 3.5c-1.4 0-2.5 1.1-2.5 2.5 0 .3 0 .6.2.9l-3.8 3.8c-.3-.1-.6-.2-.9-.2-1.4 0-2.5 1.1-2.5 2.5s1.1 2.5 2.5 2.5 2.5-1.1 2.5-2.5c0-.3 0-.6-.2-.9l3.8-3.8c.3.1.6.2.9.2 1.4 0 2.5-1.1 2.5-2.5s-1.1-2.5-2.5-2.5z"/>%3C/svg>')}.mapbox-gl-draw_trash{background-image:url('data:image/svg+xml;utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="20" height="20">%3Cpath d="M10,3.4 c-0.8,0-1.5,0.5-1.8,1.2H5l-1,1v1h12v-1l-1-1h-3.2C11.5,3.9,10.8,3.4,10,3.4z M5,8v7c0,1,1,2,2,2h6c1,0,2-1,2-2V8h-2v5.5h-1.5V8h-3 v5.5H7V8H5z"/>%3C/svg>')}.mapbox-gl-draw_uncombine{background-image:url('data:image/svg+xml;utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="20" height="20">%3Cpath d="m12 2c-.3 0-.5.1-.7.3l-1 1c-.4.4-.4 1 0 1.4l1 1c.4.4 1 .4 1.4 0l1-1c.4-.4.4-1 0-1.4l-1-1c-.2-.2-.4-.3-.7-.3zm4 4c-.3 0-.5.1-.7.3l-1 1c-.4.4-.4 1 0 1.4l1 1c.4.4 1 .4 1.4 0l1-1c.4-.4.4-1 0-1.4l-1-1c-.2-.2-.4-.3-.7-.3zm-7 1c-1 0-1 1-.5 1.5.3.3 1 1 1 1l-1 1s-.5.5 0 1 1 0 1 0l1-1 1 1c.5.5 1.5.5 1.5-.5v-4zm-5 3c-.3 0-.5.1-.7.3l-1 1c-.4.4-.4 1 0 1.4l4.9 4.9c.4.4 1 .4 1.4 0l1-1c.4-.4.4-1 0-1.4l-4.9-4.9c-.1-.2-.4-.3-.7-.3z"/>%3C/svg>')}.mapbox-gl-draw_combine{background-image:url('data:image/svg+xml;utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="20" height="20">%3Cpath d="M12.1,2c-0.3,0-0.5,0.1-0.7,0.3l-1,1c-0.4,0.4-0.4,1,0,1.4l4.9,4.9c0.4,0.4,1,0.4,1.4,0l1-1 c0.4-0.4,0.4-1,0-1.4l-4.9-4.9C12.6,2.1,12.3,2,12.1,2z M8,8C7,8,7,9,7.5,9.5c0.3,0.3,1,1,1,1l-1,1c0,0-0.5,0.5,0,1s1,0,1,0l1-1l1,1 C11,13,12,13,12,12V8H8z M4,10c-0.3,0-0.5,0.1-0.7,0.3l-1,1c-0.4,0.4-0.4,1,0,1.4l1,1c0.4,0.4,1,0.4,1.4,0l1-1c0.4-0.4,0.4-1,0-1.4 l-1-1C4.5,10.1,4.3,10,4,10z M8,14c-0.3,0-0.5,0.1-0.7,0.3l-1,1c-0.4,0.4-0.4,1,0,1.4l1,1c0.4,0.4,1,0.4,1.4,0l1-1 c0.4-0.4,0.4-1,0-1.4l-1-1C8.5,14.1,8.3,14,8,14z"/>%3C/svg>')}.mapboxgl-map.mouse-pointer .mapboxgl-canvas-container.mapboxgl-interactive{cursor:pointer}.mapboxgl-map.mouse-move .mapboxgl-canvas-container.mapboxgl-interactive{cursor:move}.mapboxgl-map.mouse-add .mapboxgl-canvas-container.mapboxgl-interactive{cursor:crosshair}.mapboxgl-map.mouse-move.mode-direct_select .mapboxgl-canvas-container.mapboxgl-interactive{cursor:grab;cursor:-moz-grab;cursor:-webkit-grab}.mapboxgl-map.mode-direct_select.feature-vertex.mouse-move .mapboxgl-canvas-container.mapboxgl-interactive{cursor:move}.mapboxgl-map.mode-direct_select.feature-midpoint.mouse-pointer .mapboxgl-canvas-container.mapboxgl-interactive{cursor:cell}.mapboxgl-map.mode-direct_select.feature-feature.mouse-move .mapboxgl-canvas-container.mapboxgl-interactive{cursor:move}.mapboxgl-map.mode-static.mouse-pointer .mapboxgl-canvas-container.mapboxgl-interactive{cursor:grab;cursor:-moz-grab;cursor:-webkit-grab}.mapbox-gl-draw_boxselect{pointer-events:none;position:absolute;top:0;left:0;width:0;height:0;background:#0000001a;border:2px dotted #fff;opacity:.5}.fp-popup-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;z-index:var(--sl-z-modal-backdrop);display:flex;align-items:center;justify-content:center}.fp-popup{position:relative;width:440px;max-width:95vw;max-height:85vh;background-color:var(--sl-bg-secondary);border:1px solid var(--sl-border);border-radius:var(--sl-radius-lg);box-shadow:var(--sl-shadow-xl);z-index:var(--sl-z-modal);display:flex;flex-direction:column;overflow:hidden}.fp-popup__header{display:flex;align-items:center;gap:var(--sl-space-2);padding:var(--sl-space-3) var(--sl-space-4);background-color:var(--sl-bg-tertiary);border-bottom:1px solid var(--sl-border);min-height:0}.fp-popup__header h3{font-family:var(--sl-font-heading);font-size:var(--sl-text-base);font-weight:var(--sl-font-semibold);color:var(--sl-text-primary);margin:0;white-space:nowrap}.fp-popup__flight-name{flex:1;font-size:var(--sl-text-xs);color:var(--sl-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}.fp-popup__close-btn{background:none;border:none;padding:2px;cursor:pointer;color:var(--sl-text-muted);line-height:1;border-radius:var(--sl-radius-sm);transition:color var(--sl-transition-fast),background var(--sl-transition-fast)}.fp-popup__close-btn:hover{color:var(--sl-text-primary);background:var(--sl-bg-hover)}.fp-popup__content{flex:1;overflow-y:auto;padding:var(--sl-space-3) var(--sl-space-4);display:flex;flex-direction:column;gap:var(--sl-space-3)}.fp-popup__video-wrap{background:#000;border-radius:var(--sl-radius-md);overflow:hidden}.fp-popup__video{display:block;width:100%;max-height:260px;object-fit:contain;background:#000}.fp-popup__iframe{display:block;width:100%;height:260px;border:none;border-radius:var(--sl-radius-md);background:#000}.fp-popup__source-toggle{display:flex;gap:var(--sl-space-1);padding:3px;background:var(--sl-bg-tertiary);border-radius:var(--sl-radius-md);border:1px solid var(--sl-border)}.fp-popup__source-btn{flex:1;padding:var(--sl-space-1) var(--sl-space-2);border:1px solid transparent;border-radius:var(--sl-radius-sm);background:transparent;color:var(--sl-text-secondary);font-family:var(--sl-font-body);font-size:var(--sl-text-xs);font-weight:var(--sl-font-medium);cursor:pointer;transition:all var(--sl-transition-fast)}.fp-popup__source-btn:hover:not(:disabled){background:var(--sl-bg-hover);color:var(--sl-text-primary)}.fp-popup__source-btn--active{background:var(--sl-accent);color:#fff;border-color:var(--sl-accent)}.fp-popup__source-btn--active:hover{background:var(--sl-accent-hover)}.fp-popup__source-btn:disabled{opacity:.35;cursor:not-allowed}.fp-popup__minimap{width:100%;height:160px;border-radius:var(--sl-radius-md);border:1px solid var(--sl-border);overflow:hidden}.fp-popup__minimap .mapboxgl-ctrl-group button{width:26px;height:26px}.fp-popup__minimap .mapboxgl-ctrl-top-right{top:4px;right:4px}.fp-popup__scrubber{display:flex;flex-direction:column;gap:2px}.fp-popup__scrubber-input{width:100%;cursor:pointer;accent-color:var(--sl-accent)}.fp-popup__frame-info{display:flex;justify-content:space-between;font-size:var(--sl-text-xs);color:var(--sl-text-muted)}.fp-popup__timer-controls{display:flex;gap:var(--sl-space-1);align-items:center}.fp-popup__timer-btn{display:inline-flex;align-items:center;gap:var(--sl-space-1);padding:var(--sl-space-1) var(--sl-space-2);border:1px solid var(--sl-border);border-radius:var(--sl-radius-md);background:var(--sl-bg-tertiary);color:var(--sl-text-secondary);font-family:var(--sl-font-body);font-size:var(--sl-text-xs);font-weight:var(--sl-font-medium);cursor:pointer;transition:all var(--sl-transition-fast);line-height:1}.fp-popup__timer-btn:hover{border-color:var(--sl-accent);color:var(--sl-accent);background:var(--sl-accent-muted)}.fp-popup__timer-btn--active{border-color:var(--sl-success);color:var(--sl-success);background:var(--sl-success-bg)}.fp-popup__timer-btn--active:hover{border-color:var(--sl-warning);color:var(--sl-warning);background:var(--sl-warning-bg)}.fp-popup__timer-btn--reset{padding:var(--sl-space-1)}.fp-popup__timer-btn--reset:hover{color:var(--sl-error);border-color:var(--sl-error);background:var(--sl-error-bg)}@keyframes fp-timer-pulse{0%,to{opacity:1}50%{opacity:.5}}.fp-popup__timer-btn--active span{animation:fp-timer-pulse 1.5s ease-in-out infinite}.fp-popup__stats{display:flex;flex-direction:column;gap:3px;font-family:var(--sl-font-body);font-size:var(--sl-text-xs);color:var(--sl-text-secondary);line-height:var(--sl-leading-normal)}.fp-popup__stats b{color:var(--sl-text-primary);font-weight:var(--sl-font-medium)}.fp-popup__form-group{display:flex;flex-direction:column;gap:var(--sl-space-1)}.fp-popup__form-group label{font-size:var(--sl-text-xs);font-weight:var(--sl-font-medium);color:var(--sl-text-secondary)}.fp-popup__url-row{display:flex;gap:var(--sl-space-1)}.fp-popup__url-input{flex:1;padding:var(--sl-space-1) var(--sl-space-2);background-color:var(--sl-bg-tertiary);border:1px solid var(--sl-border);border-radius:var(--sl-radius-md);color:var(--sl-text-primary);font-family:var(--font-mono);font-size:var(--sl-text-xs);transition:border-color var(--sl-transition-fast),box-shadow var(--sl-transition-fast);min-width:0}.fp-popup__url-input:focus{outline:none;border-color:var(--sl-accent);box-shadow:0 0 0 2px var(--sl-accent-muted)}.fp-popup__url-input::placeholder{color:var(--sl-text-placeholder)}.fp-popup__open-link{padding:var(--sl-space-1) var(--sl-space-2);background:var(--sl-bg-tertiary);border:1px solid var(--sl-border);border-radius:var(--sl-radius-md);cursor:pointer;color:var(--sl-text-secondary);font-size:var(--sl-text-xs);transition:all var(--sl-transition-fast);white-space:nowrap}.fp-popup__open-link:hover{border-color:var(--sl-accent);color:var(--sl-accent)}.fp-popup__footer{display:flex;gap:var(--sl-space-2);padding:var(--sl-space-3) var(--sl-space-4);background-color:var(--sl-bg-tertiary);border-top:1px solid var(--sl-border)}.fp-popup__footer .sl-btn{flex:1}.fp-popup__divider{height:1px;background:var(--sl-divider);margin:var(--sl-space-1) 0}.fp-popup__cloud-upload-btn{display:inline-flex;align-items:center;gap:var(--sl-space-1);padding:var(--sl-space-1) var(--sl-space-2);background:var(--sl-accent-muted);border:1px solid var(--sl-accent);border-radius:var(--sl-radius-md);cursor:pointer;color:var(--sl-accent);font-size:var(--sl-text-xs);font-family:var(--sl-font-body);font-weight:var(--sl-font-medium);transition:all var(--sl-transition-fast);white-space:nowrap}.fp-popup__cloud-upload-btn:hover:not(:disabled){background:var(--sl-accent);color:#fff}.fp-popup__cloud-upload-btn:disabled{opacity:.6;cursor:wait}.fp-popup__spinner{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:fp-spin .6s linear infinite}@keyframes fp-spin{to{transform:rotate(360deg)}}.fp-popup-wrapper{display:flex;gap:var(--sl-space-3);align-items:flex-start;max-width:95vw}.fp-popup__side-panel{width:340px;max-height:85vh;background-color:var(--sl-bg-secondary);border:1px solid var(--sl-border);border-radius:var(--sl-radius-lg);box-shadow:var(--sl-shadow-xl);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}.fp-popup__side-header{display:flex;align-items:center;gap:var(--sl-space-2);padding:var(--sl-space-2) var(--sl-space-3);background-color:var(--sl-bg-tertiary);border-bottom:1px solid var(--sl-border);min-height:0}.fp-popup__side-title{font-family:var(--sl-font-heading);font-size:var(--sl-text-sm);font-weight:var(--sl-font-semibold);color:var(--sl-text-primary);margin:0}.fp-popup__side-type-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.fp-popup__side-type-select{flex:0 1 auto;padding:2px 4px;background:var(--sl-bg-tertiary);border:1px solid var(--sl-border);border-radius:var(--sl-radius-sm);color:var(--sl-text-primary);font-size:var(--sl-text-xs);font-weight:var(--sl-font-semibold);cursor:pointer;min-width:0}.fp-popup__side-coords{flex:1;font-family:var(--sl-font-mono, monospace);font-size:10px;color:var(--sl-text-muted);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fp-popup__side-content{flex:1;overflow-y:auto;padding:var(--sl-space-2) var(--sl-space-3);display:flex;flex-direction:column;gap:var(--sl-space-2)}.fp-popup__side-empty{padding:var(--sl-space-4);color:var(--sl-text-muted);font-size:var(--sl-text-sm);text-align:center}.fp-popup__side-thumb-wrap{border-radius:var(--sl-radius-md);overflow:hidden;background:#000}.fp-popup__side-thumb{width:100%;max-height:200px;object-fit:contain;border-radius:var(--sl-radius-md);background:#000}.fp-popup__side-photo{width:100%;max-height:300px;object-fit:contain;border-radius:var(--sl-radius-md);background:#000}.fp-popup__edit-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--sl-z-modal) + 10);display:flex;align-items:center;justify-content:center;pointer-events:none}.fp-popup__edit-overlay>*{pointer-events:auto}.fp-popup__edit-overlay .indication-popup{z-index:calc(var(--sl-z-modal) + 12)}.fp-popup__edit-overlay-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0006;z-index:calc(var(--sl-z-modal) + 10)}.dp-popup-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99;background:transparent}.dp-popup{position:fixed;z-index:100;background:var(--sl-bg-elevated);border:1px solid var(--sl-border);border-radius:var(--sl-radius-lg);padding:var(--sl-space-4);min-width:260px;max-width:320px;box-shadow:var(--sl-shadow-xl);font-family:var(--sl-font-body, Inter, sans-serif);animation:dp-popup-in .15s ease-out}@keyframes dp-popup-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.dp-popup__header{display:flex;align-items:center;gap:var(--sl-space-2);margin-bottom:var(--sl-space-3)}.dp-popup__dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.dp-popup__name{font-weight:var(--sl-font-semibold);font-size:var(--sl-text-base);color:var(--sl-text-primary)}.dp-popup__state{font-size:var(--sl-text-xs);font-weight:var(--sl-font-semibold);text-transform:uppercase;margin-left:auto;padding:2px var(--sl-space-2);border-radius:var(--sl-radius-sm);background:var(--sl-bg-tertiary)}.dp-popup__entity{font-size:var(--sl-text-xs);color:var(--sl-text-muted);margin-bottom:var(--sl-space-2)}.dp-popup__metrics{font-size:var(--sl-text-sm);color:var(--sl-text-secondary);margin-bottom:var(--sl-space-3);max-height:140px;overflow-y:auto}.dp-popup__metric-row{display:flex;justify-content:space-between;padding:3px 0;border-bottom:1px solid var(--sl-divider)}.dp-popup__metric-key{color:var(--sl-text-muted)}.dp-popup__metric-val{font-weight:var(--sl-font-semibold);color:var(--sl-text-primary)}.dp-popup__rules{margin-bottom:var(--sl-space-3);padding:var(--sl-space-2);background:var(--sl-bg-tertiary);border-radius:var(--sl-radius-sm);max-height:160px;overflow-y:auto}.dp-popup__rules-title{font-size:var(--sl-text-xs);font-weight:var(--sl-font-semibold);color:var(--sl-text-secondary);margin-bottom:var(--sl-space-2);text-transform:uppercase;letter-spacing:.5px}.dp-popup__rule{padding:var(--sl-space-1) var(--sl-space-2);border-radius:var(--sl-radius-sm);margin-bottom:var(--sl-space-1);border-left:3px solid var(--sl-border);background:var(--sl-bg-elevated);font-size:var(--sl-text-xs)}.dp-popup__rule--warning{border-left-color:var(--sl-alarm-warning, #F2994A)}.dp-popup__rule--critical{border-left-color:var(--sl-alarm-critical, #EB5757)}.dp-popup__rule-badge{display:inline-block;font-size:9px;font-weight:700;padding:1px 4px;border-radius:3px;margin-right:var(--sl-space-1);vertical-align:middle}.dp-popup__rule--warning .dp-popup__rule-badge{background:#f2994a26;color:#e67e22}.dp-popup__rule--critical .dp-popup__rule-badge{background:#eb575726;color:#c0392b}.dp-popup__rule-detail{color:var(--sl-text-primary)}.dp-popup__rule-type{display:inline-block;font-size:9px;text-transform:uppercase;color:var(--sl-text-muted);margin-left:var(--sl-space-1);padding:1px 4px;background:var(--sl-bg-tertiary);border-radius:3px}.dp-popup__rule-actual{color:var(--sl-text-muted)}.dp-popup__rule-msg{margin-top:2px;font-size:10px;color:var(--sl-text-secondary);font-style:italic}.dp-popup__rule-conditions{margin-top:2px;padding-left:var(--sl-space-2)}.dp-popup__rule-cond{font-size:10px;color:var(--sl-text-secondary)}.dp-popup__actions{display:flex;gap:var(--sl-space-2)}.dp-popup__btn{flex:1;padding:var(--sl-space-2) var(--sl-space-1);font-size:var(--sl-text-xs);border-radius:var(--sl-radius-sm);cursor:pointer;border:1px solid var(--sl-border);background:var(--sl-bg-elevated);color:var(--sl-text-primary);transition:all var(--sl-transition-fast);font-family:var(--sl-font-body)}.dp-popup__btn:hover{background:var(--sl-bg-hover)}.dp-popup__btn--primary{background:var(--sl-accent);color:var(--text-inverted);border-color:var(--sl-accent)}.dp-popup__btn--primary:hover{background:var(--sl-accent-hover)}.dp-popup__btn--danger{color:var(--sl-error);border-color:var(--sl-error)}.dp-popup__btn--danger:hover{background:var(--sl-error-bg)}.dp-popup__display-metric{margin-bottom:var(--sl-space-3);padding:var(--sl-space-2);background:var(--sl-bg-tertiary);border-radius:var(--sl-radius-sm)}.dp-popup__display-metric label{font-size:var(--sl-text-xs);font-weight:var(--sl-font-semibold);display:block;margin-bottom:var(--sl-space-1);color:var(--sl-text-secondary)}.dp-popup__display-metric select{width:100%;padding:var(--sl-space-1);border-radius:var(--sl-radius-sm);border:1px solid var(--sl-border);font-size:var(--sl-text-sm);background:var(--sl-bg-elevated);color:var(--sl-text-primary);font-family:var(--sl-font-body)}.dp-popup-state--ok{background:var(--sl-alarm-ok, #27AE60)}.dp-popup-state--warning{background:var(--sl-alarm-warning, #F2994A)}.dp-popup-state--critical{background:var(--sl-alarm-critical, #EB5757)}.dp-popup-state--stale{background:var(--sl-alarm-stale, #9CA3AF)}.dp-popup-state--no_data{background:var(--sl-alarm-stale, #6B7280)}.dp-popup-state-text--ok{color:var(--sl-alarm-ok, #27AE60)}.dp-popup-state-text--warning{color:var(--sl-alarm-warning, #F2994A)}.dp-popup-state-text--critical{color:var(--sl-alarm-critical, #EB5757)}.dp-popup-state-text--stale{color:var(--sl-alarm-stale, #9CA3AF)}.dp-popup-state-text--no_data{color:var(--sl-alarm-stale, #6B7280)}.loc-search__btn-wrapper{display:contents}.loc-search__btn{width:32px!important;height:32px!important;display:flex!important;align-items:center;justify-content:center;background-color:transparent!important;border:none!important;cursor:pointer;padding:0;transition:background .15s}.loc-search__btn-wrapper+button{border-top:1px solid var(--sl-border, #ddd)!important}.loc-search__btn svg{width:16px;height:16px;color:var(--sl-text-muted, #64748b);filter:invert(1) brightness(.8)}.loc-search__btn:hover{background-color:var(--sl-bg-hover, #f1f5f9)!important}.loc-search__btn--active{background-color:var(--primary-blue, #3b82f6)!important}.loc-search__btn--active svg{color:#fff;filter:none}.loc-search__panel{position:absolute;bottom:0;right:44px;width:280px;background:var(--sl-bg-secondary, #fff);border:1px solid var(--sl-border, #ddd);border-radius:var(--sl-radius-md, 6px);box-shadow:var(--sl-shadow-md, 0 2px 6px rgba(0,0,0,.12));overflow:visible;pointer-events:auto}.loc-search__input-row{display:flex;align-items:center;gap:6px;padding:6px 10px}.loc-search__search-icon{width:14px;height:14px;flex-shrink:0;color:var(--sl-text-muted, #94a3b8)}.loc-search__input{flex:1;border:none;background:transparent;outline:none;font-size:13px;color:var(--sl-text, #1e293b);font-family:inherit;min-width:0;height:26px}.loc-search__input::placeholder{color:var(--sl-text-muted, #94a3b8)}.loc-search__spinner{width:14px;height:14px;border:2px solid var(--sl-border, #e2e8f0);border-top-color:var(--primary-blue, #3b82f6);border-radius:50%;animation:loc-spin .6s linear infinite;flex-shrink:0}@keyframes loc-spin{to{transform:rotate(360deg)}}.loc-search__results{list-style:none;margin:0;padding:2px 0 4px;border-top:1px solid var(--sl-border, #e2e8f0);max-height:240px;overflow-y:auto}.loc-search__result{display:flex;align-items:flex-start;gap:8px;padding:7px 10px;cursor:pointer;transition:background .1s}.loc-search__result--active{background:var(--sl-bg-hover, rgba(59, 130, 246, .06))}.loc-search__pin{width:14px;height:14px;flex-shrink:0;color:var(--sl-text-muted, #64748b);margin-top:2px}.loc-search__result--active .loc-search__pin{color:var(--primary-blue, #3b82f6)}.loc-search__result-text{font-size:12px;color:var(--sl-text-secondary, #334155);line-height:1.35;word-break:break-word}.loc-search__result--active .loc-search__result-text{color:var(--sl-text, #1e293b)}.map-canvas{width:100%;height:100%;position:relative}.map-canvas__container{width:100%;height:100%}.mapboxgl-ctrl-group{background:var(--sl-bg-secondary)!important;border:1px solid var(--sl-border)!important;border-radius:var(--sl-radius-md)!important;box-shadow:var(--sl-shadow-md)!important;overflow:hidden!important}.mapboxgl-ctrl-group button{width:32px!important;height:32px!important;background-color:transparent!important;border:none!important}.mapboxgl-ctrl-group button:hover{background-color:var(--sl-bg-hover)!important}.mapboxgl-ctrl-group button+button{border-top:1px solid var(--sl-border)!important}.mapboxgl-ctrl-icon{filter:invert(1) brightness(.8)}.mapboxgl-ctrl-scale{background:var(--sl-bg-secondary)!important;border:1px solid var(--sl-border)!important;border-radius:var(--sl-radius-sm)!important;color:var(--sl-text-secondary)!important;font-size:var(--sl-text-xs)!important;padding:2px 6px!important}.mapboxgl-ctrl-attrib{background:var(--sl-bg-secondary)!important;border-radius:var(--sl-radius-sm)!important;font-size:10px!important;padding:2px 6px!important}.mapboxgl-ctrl-attrib a{color:var(--sl-text-muted)!important}.mapboxgl-ctrl-attrib-button{filter:invert(1) brightness(.6)}.mapboxgl-popup-content{background:var(--sl-bg-secondary)!important;border:1px solid var(--sl-border)!important;border-radius:var(--sl-radius-md)!important;box-shadow:var(--sl-shadow-lg)!important;color:var(--sl-text-primary)!important;padding:var(--sl-space-3)!important}.mapboxgl-popup-tip{border-top-color:var(--sl-bg-secondary)!important}.mapboxgl-popup-close-button{color:var(--sl-text-muted)!important;font-size:18px!important;padding:4px 8px!important}.mapboxgl-popup-close-button:hover{background-color:var(--sl-bg-hover)!important;color:var(--sl-text-primary)!important}.mapboxgl-marker{cursor:pointer}.map-marker{width:24px;height:24px;border-radius:50%;border:2px solid white;box-shadow:var(--sl-shadow-md);cursor:pointer;transition:transform var(--sl-transition-fast)}.map-marker:hover{transform:scale(1.2)}.map-marker--selected{box-shadow:0 0 0 3px var(--sl-accent),var(--sl-shadow-md)}.photo-marker{width:32px;height:32px;background:var(--sl-bg-secondary);border:2px solid var(--sl-accent);border-radius:var(--sl-radius-sm);display:flex;align-items:center;justify-content:center;color:var(--sl-accent);cursor:pointer;transition:all var(--sl-transition-fast)}.photo-marker:hover{background:var(--sl-accent);color:var(--sl-bg-primary)}.data-point-marker{min-width:60px;padding:4px 8px;background:var(--sl-bg-secondary);border:1px solid var(--sl-border);border-radius:var(--sl-radius-sm);font-size:11px;font-family:var(--sl-font-mono);color:var(--sl-text-primary);text-align:center;white-space:nowrap;cursor:pointer;transition:all var(--sl-transition-fast)}.data-point-marker:hover{border-color:var(--sl-accent)}.data-point-marker--warning{border-color:var(--sl-warning);box-shadow:0 0 6px var(--sl-warning)}.data-point-marker--critical{border-color:var(--sl-error);box-shadow:0 0 6px var(--sl-error);animation:pulse-marker 1.5s ease-in-out infinite}@keyframes pulse-marker{0%,to{opacity:1}50%{opacity:.7}}.dp-dot-marker{width:20px;height:20px;border-radius:50%;border:2.5px solid #fff;box-shadow:0 1px 4px #0000004d;cursor:grab}.dp-dot--warning{animation:dp-pulse-warning 2s ease-in-out infinite}.dp-dot--critical{animation:dp-pulse-critical 1.2s ease-in-out infinite}@keyframes dp-pulse-warning{0%,to{box-shadow:0 0 #f2994ab3,0 1px 4px #0000004d}50%{box-shadow:0 0 0 8px #f2994a00,0 1px 4px #0000004d}}@keyframes dp-pulse-critical{0%,to{box-shadow:0 0 #eb5757cc,0 1px 4px #0000004d}50%{box-shadow:0 0 0 10px #eb575700,0 1px 4px #0000004d}}.layers-panel{max-height:500px}.layers-panel__content{display:flex;flex-direction:column;gap:var(--sl-space-3)}.layers-section{display:flex;flex-direction:column;gap:var(--sl-space-1)}.layers-section--indications{border-top:1px solid rgba(255,255,255,.06);padding-top:var(--sl-space-3)}.layers-section__header{display:flex;align-items:center;justify-content:space-between;gap:var(--sl-space-2);margin-bottom:var(--sl-space-1)}.layers-section__title{font-size:var(--sl-text-xs);font-weight:var(--sl-font-semibold);color:var(--sl-text-muted);text-transform:uppercase;letter-spacing:.08em}.legend-actions{display:flex;gap:4px}.legend-actions__btn{padding:2px 8px;font-size:11px;border:1px solid rgba(255,255,255,.15);border-radius:4px;background:transparent;color:var(--sl-text-muted);cursor:pointer;transition:all var(--sl-transition-fast)}.legend-actions__btn:hover{background:#ffffff0f;color:var(--sl-text-primary);border-color:#ffffff40}.legend-list{display:flex;flex-direction:column;gap:2px}.legend-list--indications{max-height:200px;overflow-y:auto}.legend-item{display:grid;grid-template-columns:18px 16px 1fr 36px;align-items:center;column-gap:6px;font-size:13px;line-height:1.15;padding:2px 0}.legend-item input[type=checkbox]{width:14px;height:14px;margin:0;justify-self:center;accent-color:var(--sl-accent);cursor:pointer}.legend-item--overlay{border-radius:4px;padding:2px 4px;margin:0 -4px;transition:background var(--sl-transition-fast)}.legend-item--active{background:#13d6c614}.legend-item--total{margin-bottom:4px;opacity:.85}.legend-label--total{font-weight:600;font-size:12px}.legend-count--total{font-weight:700;color:var(--sl-text-primary)}.legend-swatch{width:14px;height:14px;border:1px solid rgba(255,255,255,.25);border-radius:2px;box-sizing:border-box;flex-shrink:0}.legend-swatch--total{background:transparent;border-color:transparent}.legend-swatch--iv-results{background:linear-gradient(to right,#22c55e 33%,#f97316 33%,#f97316 66%,#ef4444 66%);border-radius:3px}.legend-label{color:var(--sl-text-secondary);-webkit-user-select:none;user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.legend-label--clickable{cursor:pointer;transition:color var(--sl-transition-fast)}.legend-label--clickable:hover{color:var(--sl-accent)}.legend-count{text-align:right;font-size:12px;color:var(--sl-text-muted);font-variant-numeric:tabular-nums}.legend-remove-btn{justify-self:end;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--sl-text-muted);font-size:16px;line-height:1;cursor:pointer;border-radius:3px;padding:0;transition:all var(--sl-transition-fast)}.legend-remove-btn:hover{background:#ef444426;color:#ef4444}.legend-sublevel{padding-left:12px;display:flex;flex-direction:column;gap:1px}.legend-item--sub{font-size:11px;grid-template-columns:14px 12px 1fr auto;column-gap:4px;padding:1px 0;opacity:.9}.legend-count--sub{font-size:9px;opacity:.8;justify-self:end}.legend-item--sub input[type=checkbox]{width:12px;height:12px}.legend-item--sub .legend-swatch{width:10px;height:10px}.legend-label--expandable{cursor:pointer;-webkit-user-select:none;user-select:none}.legend-expand-btn{justify-self:center;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:12px;color:var(--sl-text-muted);transition:transform .15s ease;display:inline-block}.legend-expand-btn--open{transform:rotate(90deg)}.legend-label-actions{display:flex;gap:4px;margin-top:4px}.legend-add-label-btn{flex:1;padding:4px 6px;background:#ffffff0f;border:1px dashed rgba(255,255,255,.2);border-radius:4px;color:var(--sl-text-muted);font-size:11px;cursor:pointer;transition:background .15s,color .15s,border-color .15s;text-align:center}.legend-add-label-btn:hover{background:#ffffff1a;color:var(--sl-text);border-color:#ffffff4d}.legend-add-label-btn--active{background:#13d6c61f;border-color:#13d6c666;color:var(--sl-accent, #13d6c6);border-style:solid}.legend-opacity{display:flex;align-items:center;gap:8px;margin:2px 0 6px;padding-left:24px}.legend-opacity__slider{width:120px;height:4px;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:#ffffff1a;border-radius:2px;cursor:pointer;outline:none}.legend-opacity__slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;background:var(--sl-accent);border-radius:50%;cursor:pointer}.legend-opacity__slider::-moz-range-thumb{width:12px;height:12px;background:var(--sl-accent);border-radius:50%;border:none;cursor:pointer}.legend-opacity__val{width:34px;text-align:right;font-size:12px;color:var(--sl-text-muted);font-variant-numeric:tabular-nums;font-family:var(--sl-font-mono)}.legend-empty{font-size:var(--sl-text-sm);color:var(--sl-text-muted);text-align:center;padding:var(--sl-space-2);margin:0}.date-toolbar{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:360;display:flex;align-items:center;gap:14px;background:var(--bg-card);border:1px solid var(--sl-border);border-radius:20px;padding:4px 14px;box-shadow:var(--shadow-card);font-size:var(--sl-text-sm);pointer-events:auto}.date-toolbar__section{display:flex;align-items:center;gap:6px;position:relative}.date-toolbar__divider{width:1px;height:20px;background:var(--sl-divider)}.date-toolbar__label{color:var(--text-muted);font-size:11px;white-space:nowrap;-webkit-user-select:none;user-select:none}.date-toolbar__select{background:var(--gray-50);border:1px solid var(--sl-border);border-radius:var(--r-sm);color:var(--text-main);font-size:var(--sl-text-sm);padding:2px 6px;cursor:pointer;outline:none;min-width:120px;height:26px}.date-toolbar__select:focus{border-color:var(--sl-border-focus)}.date-toolbar__add-btn{width:24px;height:24px;border:1px solid var(--sl-border);border-radius:var(--r-sm);background:transparent;color:var(--text-secondary);font-size:16px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.date-toolbar__add-btn:hover{background:var(--sl-accent-muted);color:var(--sl-accent);border-color:var(--sl-accent)}.date-toolbar__filter-btn{display:flex;align-items:center;gap:5px;background:var(--gray-50);border:1px solid var(--sl-border);border-radius:var(--r-sm);color:var(--text-main);font-size:var(--sl-text-sm);padding:2px 10px;cursor:pointer;height:26px;transition:border-color .15s;white-space:nowrap}.date-toolbar__filter-btn:hover{border-color:var(--sl-border-hover)}.date-toolbar__filter-btn svg{flex-shrink:0}.date-filter-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:220px;background:var(--bg-card);border:1px solid var(--sl-border);border-radius:var(--r-md);box-shadow:var(--shadow-hover);z-index:400;overflow:hidden}.date-filter-dropdown__header{display:flex;gap:4px;padding:6px 10px;border-bottom:1px solid var(--sl-divider)}.date-filter-dropdown__header button{padding:2px 10px;font-size:11px;border:1px solid var(--sl-border);border-radius:4px;background:transparent;color:var(--text-muted);cursor:pointer;transition:all .15s}.date-filter-dropdown__header button:hover{background:var(--sl-bg-hover);color:var(--text-main)}.date-filter-dropdown__list{max-height:240px;overflow-y:auto;padding:4px 0}.date-filter-dropdown__item{display:grid;grid-template-columns:18px 1fr 32px;align-items:center;gap:6px;padding:5px 10px;cursor:pointer;transition:background .12s}.date-filter-dropdown__item:hover{background:var(--sl-bg-hover)}.date-filter-dropdown__item input[type=checkbox]{width:14px;height:14px;margin:0;accent-color:var(--sl-accent);cursor:pointer}.date-filter-dropdown__date{font-size:12px;color:var(--text-secondary)}.date-filter-dropdown__count{text-align:right;font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums}.date-filter-dropdown__empty{font-size:var(--sl-text-sm);color:var(--text-muted);text-align:center;padding:12px 10px;margin:0}.date-add-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;z-index:900}.date-add-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:901;background:var(--bg-card);border:1px solid var(--sl-border);border-radius:var(--r-card);box-shadow:var(--shadow-hover);padding:20px;min-width:280px}.date-add-modal__title{font-size:14px;font-weight:600;color:var(--text-main);margin-bottom:12px}.date-add-modal__input{width:100%;padding:8px 10px;border:1px solid var(--sl-border);border-radius:var(--r-sm);font-size:var(--sl-text-sm);color:var(--text-main);background:var(--gray-50);margin-bottom:14px;box-sizing:border-box}.date-add-modal__input:focus{outline:none;border-color:var(--sl-border-focus)}.date-add-modal__actions{display:flex;gap:8px;justify-content:flex-end}.date-add-modal__btn{padding:6px 14px;border-radius:var(--r-sm);font-size:var(--sl-text-sm);cursor:pointer;border:1px solid var(--sl-border);transition:all .15s}.date-add-modal__btn--cancel{background:transparent;color:var(--text-secondary)}.date-add-modal__btn--cancel:hover{background:var(--sl-bg-hover)}.date-add-modal__btn--add{background:var(--primary-blue);color:#fff;border-color:var(--primary-blue)}.date-add-modal__btn--add:hover{background:var(--sl-accent-hover)}.date-add-modal__btn--add:disabled{opacity:.5;cursor:not-allowed}.tp-drawer-panel{position:absolute;top:0;right:0;bottom:0;width:380px;background:#fff;z-index:10;box-shadow:-4px 0 24px #0000001f;display:flex;flex-direction:column;transform:translate(100%);transition:transform .22s ease-out;overflow:hidden}.tp-drawer-panel.open{transform:translate(0)}.tp-drawer-header{background:linear-gradient(135deg,#7c3aed,#6d28d9);padding:16px 20px;flex-shrink:0}.tp-drawer-header__top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.tp-drawer-header__titles{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tp-drawer-header__category{font-size:16px;font-weight:600;color:#fff;line-height:1.3}.tp-drawer-header__meta{display:flex;align-items:center;gap:8px;margin-top:8px}.tp-drawer-header__id{font-size:11px;color:#ffffffb3;font-family:monospace}.tp-drawer-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;background:#ffffff26;border:none;color:#fff;cursor:pointer;flex-shrink:0;transition:background-color .12s}.tp-drawer-close:hover{background:#ffffff40}.tp-drawer-severity-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.02em;white-space:nowrap}.tp-drawer-state-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}.tp-drawer-body{flex:1;overflow-y:auto;padding:0 20px 20px}.tp-drawer-image-preview{position:relative;margin:0 -20px;max-height:220px;overflow:hidden;border-bottom:1px solid rgba(0,0,0,.08);background:#f3f4f6}.tp-drawer-thermal-wrap{position:relative;width:100%;max-height:220px;overflow:hidden}.tp-drawer-thumb{display:block;width:100%;max-height:220px;object-fit:cover}.tp-drawer-delta-tag{position:absolute;bottom:8px;left:8px;background:#000000bf;color:#f59e0b;font-size:11px;font-weight:700;padding:3px 8px;border-radius:4px;letter-spacing:.02em}.tp-drawer-section{padding:16px 0;border-bottom:1px solid rgba(0,0,0,.06)}.tp-drawer-section:last-child{border-bottom:none}.tp-drawer-section__title{font-size:10px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.08em;margin:0 0 10px}.tp-drawer-asset-path{display:flex;align-items:center;flex-wrap:wrap;gap:2px;font-size:13px;color:#374151}.tp-drawer-asset-path__segment{display:inline-flex;align-items:center;gap:2px}.tp-drawer-asset-path__sep{color:#9ca3af;font-size:14px;margin:0 2px}.tp-drawer-field{display:flex;align-items:center;justify-content:space-between;min-height:28px;gap:8px}.tp-drawer-field+.tp-drawer-field{border-top:1px solid rgba(0,0,0,.04)}.tp-drawer-field__label{font-size:13px;color:#6b7280}.tp-drawer-field__value{font-size:13px;font-weight:500;color:#111827;font-variant-numeric:tabular-nums}.tp-drawer-action-text{font-size:13px;line-height:1.5;color:#374151;margin:0;background:#f9fafb;padding:10px 12px;border-radius:6px;border-left:3px solid #7c3aed}.tp-drawer-notes-text{font-size:13px;line-height:1.5;color:#374151;margin:0}.tp-drawer-alarm-condition{font-size:12px;font-family:monospace;color:#374151;background:#f3f4f6;padding:6px 10px;border-radius:4px;margin-top:6px}.tp-drawer-alarm-table-wrap{margin-top:8px}.tp-drawer-alarm-table-label{font-size:10px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.05em}.tp-drawer-alarm-table{width:100%;border-collapse:collapse;font-size:11px;margin-top:4px}.tp-drawer-alarm-table th{text-align:left;font-weight:600;color:#9ca3af;padding:4px 6px;border-bottom:1px solid #e5e7eb}.tp-drawer-alarm-table td{padding:4px 6px;color:#374151;border-bottom:1px solid #f3f4f6;font-family:monospace;font-size:11px}.tp-drawer-alarm-table tr:last-child td{border-bottom:none}.tp-drawer-audit-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}.tp-drawer-audit-entry{display:flex;align-items:flex-start;gap:10px;padding:6px 0;font-size:12px;border-bottom:1px solid rgba(0,0,0,.03)}.tp-drawer-audit-entry:last-child{border-bottom:none}.tp-drawer-audit-entry__time{color:#9ca3af;white-space:nowrap;min-width:90px;flex-shrink:0;font-variant-numeric:tabular-nums}.tp-drawer-audit-entry__action{color:#374151;line-height:1.4}.tp-drawer-footer{flex-shrink:0;display:flex;align-items:center;gap:8px;padding:12px 20px;border-top:1px solid rgba(0,0,0,.08);background:#fafafa;flex-wrap:wrap}.tp-modal-form{display:flex;flex-direction:column;gap:var(--sl-space-4)}.tp-modal-field{display:flex;flex-direction:column;gap:var(--sl-space-1)}.tp-modal-field--half{flex:1}.tp-modal-row{display:flex;gap:var(--sl-space-3)}.tp-modal-label{font-size:12px;font-weight:var(--sl-font-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.tp-modal-required{color:var(--red)}.tp-modal-input,.tp-modal-select,.tp-modal-textarea{background:var(--gray-50);border:1px solid var(--sl-border);border-radius:var(--r-md);color:var(--text-main);padding:var(--sl-space-2) var(--sl-space-3);font-size:13px;font-family:inherit;transition:border-color var(--sl-transition-fast)}.tp-modal-input:focus,.tp-modal-select:focus,.tp-modal-textarea:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 2px #2f80ff2e}.tp-modal-textarea{resize:vertical;min-height:80px}.tp-modal-input--grow{flex:1}.tp-modal-section{border:1px solid var(--sl-border);border-radius:var(--r-md);padding:var(--sl-space-3)}.tp-modal-section--impact{background:var(--gray-50)}.tp-modal-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sl-space-2)}.tp-modal-section-title{font-size:12px;font-weight:var(--sl-font-semibold);color:var(--text-main)}.tp-modal-empty{font-size:12px;color:var(--text-muted);text-align:center;padding:var(--sl-space-3)}.tp-modal-checklist-row{display:flex;align-items:center;gap:6px;padding:var(--sl-space-1) 0}.tp-modal-item-delete{width:24px;height:24px;border:1px solid #fecaca;background:#fef2f2;border-radius:4px;color:var(--red);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;transition:background var(--sl-transition-fast)}.tp-modal-item-delete:hover{background:#fee2e2}.tp-modal-link-btn{background:none;border:none;color:var(--primary-blue);font-size:12px;font-weight:var(--sl-font-medium);cursor:pointer;padding:2px 4px;border-radius:4px;transition:background var(--sl-transition-fast)}.tp-modal-link-btn:hover{background:#2f80ff14}.tp-modal-issues-list{display:flex;flex-direction:column;gap:4px;max-height:160px;overflow-y:auto}.tp-modal-issue-item{display:flex;align-items:center;gap:var(--sl-space-2);padding:var(--sl-space-1) var(--sl-space-2);border-radius:4px;background:var(--bg-card);border:1px solid var(--sl-border);font-size:12px}.tp-modal-severity-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.tp-modal-severity-dot[data-severity=Critical]{background:#dc2626}.tp-modal-severity-dot[data-severity=Major]{background:#ea580c}.tp-modal-severity-dot[data-severity=Minor]{background:#ca8a04}.tp-modal-severity-dot[data-severity=Info]{background:#0284c7}.tp-modal-issue-id{font-family:monospace;color:var(--text-secondary);min-width:80px}.tp-modal-issue-category{font-weight:var(--sl-font-medium);color:var(--text-main)}.tp-modal-issue-asset{color:var(--text-muted);margin-left:auto}.tp-modal-impact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sl-space-2)}.tp-modal-impact-card{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--sl-space-2);background:var(--bg-card);border:1px solid var(--sl-border);border-radius:var(--r-sm)}.tp-modal-impact-value{font-size:16px;font-weight:var(--sl-font-semibold);color:var(--red)}.tp-modal-impact-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px}.tp-modal-footer{display:flex;justify-content:flex-end;gap:var(--sl-space-2)}.email-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#00000080}.email-modal{background:#fff;border-radius:12px;padding:24px;max-width:450px;width:90%;box-shadow:0 20px 60px #0000004d}.email-modal__title{margin:0 0 16px;font-size:18px;font-weight:600;color:#1f2937}.email-modal__images{margin-bottom:16px;padding:12px;background:#f9fafb;border-radius:8px;max-height:150px;overflow-y:auto}.email-modal__images-label{display:block;font-size:12px;color:#6b7280;margin-bottom:8px}.email-modal__images-grid{display:flex;gap:8px;flex-wrap:wrap}.email-modal__thumb{width:60px;height:60px;object-fit:cover;border-radius:4px;border:1px solid #e5e7eb}.email-modal__hint{margin:0 0 12px;color:#6b7280;font-size:14px}.email-modal__options{display:flex;flex-direction:column;gap:10px}.email-modal__option{padding:12px 16px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;cursor:pointer;display:flex;align-items:center;gap:10px;font-size:14px;color:#374151;transition:all .15s;text-align:left}.email-modal__option:hover:not(:disabled){border-color:#7c3aed;box-shadow:0 1px 4px #7c3aed1a}.email-modal__option:disabled{opacity:.5;cursor:not-allowed}.email-modal__option--primary{border-color:#10b981;background:#ecfdf5;color:#059669;font-weight:500}.email-modal__option--primary:hover:not(:disabled){border-color:#059669}.email-modal__option-icon{font-size:20px;flex-shrink:0}.email-modal__cancel{margin-top:16px;width:100%;padding:10px;border:none;background:#f3f4f6;border-radius:8px;cursor:pointer;color:#6b7280;font-size:14px;transition:background .15s}.email-modal__cancel:hover{background:#e5e7eb}.tp-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.tp-container{position:relative;width:92vw;max-width:1200px;height:82vh;max-height:800px;background:var(--bg-main, #fff);border-radius:12px;box-shadow:0 20px 60px #00000040;display:flex;flex-direction:column;overflow:hidden}.tp-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;flex-shrink:0}.tp-header__left{display:flex;align-items:center;gap:10px}.tp-header__title{font-size:15px;font-weight:700;letter-spacing:.3px}.tp-close-btn{background:none;border:none;color:#fffc;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center}.tp-close-btn:hover{background:#ffffff26;color:#fff}.tp-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--sl-border, #e5e7eb);border-bottom:1px solid var(--sl-border, #e5e7eb);flex-shrink:0}.tp-stat{background:var(--bg-main, #fff);padding:10px 12px;text-align:center}.tp-stat__value{font-size:20px;font-weight:700;color:var(--text-main, #1a1a2e);font-variant-numeric:tabular-nums}.tp-stat__label{font-size:10px;color:var(--text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}.tp-body{display:flex;flex:1;overflow:hidden;position:relative}.tp-sidebar{width:260px;min-width:260px;border-right:1px solid var(--sl-border, #e5e7eb);display:flex;flex-direction:column;background:var(--bg-secondary, #f9fafb)}.tp-sidebar__header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 8px}.tp-sidebar__title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #6b7280)}.tp-sidebar__count{background:#7c3aed;color:#fff;font-size:10px;font-weight:700;padding:1px 6px;border-radius:10px;min-width:20px;text-align:center}.tp-filters{display:flex;gap:4px;padding:0 14px 8px}.tp-filter-btn{background:none;border:1px solid var(--sl-border, #e5e7eb);border-radius:4px;padding:3px 8px;font-size:10px;font-weight:500;color:var(--text-secondary, #6b7280);cursor:pointer;transition:all .15s}.tp-filter-btn:hover{border-color:#7c3aed;color:#7c3aed}.tp-filter-btn--active{background:#7c3aed;border-color:#7c3aed;color:#fff}.tp-sidebar__actions{padding:0 14px 8px}.tp-issue-list{flex:1;overflow-y:auto;padding:0 8px 8px}.tp-issue-card{padding:8px 10px;border:1px solid var(--sl-border, #e5e7eb);border-radius:6px;margin-bottom:4px;cursor:pointer;background:var(--bg-main, #fff);transition:all .15s}.tp-issue-card:hover{border-color:#7c3aed;box-shadow:0 1px 4px #7c3aed1a}.tp-issue-card--selected{border-color:#7c3aed;background:#7c3aed0a;box-shadow:0 0 0 1px #7c3aed}.tp-issue-card__header{display:flex;align-items:center;gap:6px;margin-bottom:4px}.tp-issue-card__location{font-size:10px;color:var(--text-secondary, #6b7280);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tp-issue-card__meta{display:flex;align-items:center;justify-content:space-between;margin-top:4px}.tp-badge{display:inline-flex;align-items:center;padding:1px 6px;border-radius:3px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.tp-badge--filled{color:#fff}.tp-badge--outline{border:1px solid;background:transparent}.tp-main{flex:1;display:flex;flex-direction:column;overflow:hidden}.tp-main__header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--sl-border, #e5e7eb);flex-shrink:0}.tp-main__actions{display:flex;gap:6px}.tp-tabs{display:flex;gap:0}.tp-tab{background:none;border:none;padding:6px 14px;font-size:12px;font-weight:500;color:var(--text-secondary, #6b7280);cursor:pointer;border-bottom:2px solid transparent;transition:all .15s}.tp-tab:hover{color:#7c3aed}.tp-tab--active{color:#7c3aed;border-bottom-color:#7c3aed;font-weight:600}.tp-batch-bar{display:flex;align-items:center;gap:10px;padding:8px 16px;background:#7c3aed0f;border-bottom:1px solid var(--sl-border, #e5e7eb);font-size:12px;color:var(--text-secondary, #6b7280);flex-shrink:0}.tp-task-list{flex:1;overflow-y:auto;padding:8px 12px}.tp-task-card{padding:10px 12px;border:1px solid var(--sl-border, #e5e7eb);border-radius:6px;margin-bottom:6px;background:var(--bg-main, #fff);transition:all .15s}.tp-task-card:hover{border-color:#d1d5db;box-shadow:0 1px 4px #0000000f}.tp-task-card__header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.tp-task-card__title{font-size:13px;font-weight:600;color:var(--text-main, #1a1a2e);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tp-task-card__body{font-size:11px;color:var(--text-secondary, #6b7280);margin-bottom:6px;line-height:1.4}.tp-task-card__meta{display:flex;align-items:center;gap:12px;font-size:10px;color:var(--text-secondary, #6b7280);margin-bottom:6px}.tp-task-card__actions{display:flex;gap:4px}.tp-btn{background:none;border:1px solid var(--sl-border, #e5e7eb);border-radius:4px;padding:3px 8px;font-size:10px;font-weight:500;color:var(--text-secondary, #6b7280);cursor:pointer;transition:all .15s}.tp-btn:hover{border-color:#7c3aed;color:#7c3aed}.tp-btn--primary{background:#7c3aed;border-color:#7c3aed;color:#fff}.tp-btn--primary:hover{background:#6d28d9}.tp-btn--danger{color:#dc2626;border-color:#fca5a5}.tp-btn--danger:hover{background:#fef2f2;border-color:#dc2626}.tp-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:var(--text-secondary, #6b7280);text-align:center;gap:6px}.tp-empty span{font-size:13px}.tp-empty__hint{font-size:11px!important;opacity:.6}.tp-audit-list{display:flex;flex-direction:column;gap:2px}.tp-audit-entry{display:flex;align-items:baseline;gap:10px;padding:6px 8px;font-size:11px;border-bottom:1px solid var(--sl-border, #e5e7eb)}.tp-audit-entry__time{color:var(--text-secondary, #6b7280);font-size:10px;min-width:100px;font-variant-numeric:tabular-nums}.tp-audit-entry__action{font-weight:600;color:#7c3aed;min-width:80px;text-transform:uppercase;font-size:9px;letter-spacing:.3px}.tp-audit-entry__details{color:var(--text-main, #1a1a2e);flex:1}.tp-task-card__checkbox{width:16px;height:16px;accent-color:#7c3aed;cursor:pointer;flex-shrink:0}.cp-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.cp-container{position:relative;width:94vw;max-width:1100px;height:92vh;max-height:900px;background:var(--bg-main, #fff);border-radius:10px;box-shadow:0 20px 60px #00000040;display:flex;flex-direction:column;overflow:hidden}.cp-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;flex-shrink:0}.cp-header__left{display:flex;align-items:center;gap:8px}.cp-header__title{font-size:14px;font-weight:700;letter-spacing:.3px}.cp-close-btn{background:none;border:none;color:#fffc;cursor:pointer;padding:3px;border-radius:4px;display:flex;align-items:center}.cp-close-btn:hover{background:#ffffff26;color:#fff}.cp-body{flex:1;overflow-y:auto;padding:10px 16px 12px;display:flex;flex-direction:column;gap:8px;min-width:0}.cp-config{display:grid;grid-template-columns:repeat(4,1fr);gap:8px 16px;flex-shrink:0}@media(max-width:700px){.cp-config{grid-template-columns:repeat(2,1fr)}}.cp-config__group{display:grid;grid-template-columns:auto 1fr;gap:3px 8px;align-items:center;min-width:0}.cp-config__group-title{grid-column:1 / -1;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #6b7280);padding-bottom:1px}.cp-field{display:contents}.cp-field__label{font-size:10px;color:var(--text-secondary, #6b7280);white-space:nowrap;display:flex;align-items:center;gap:4px}.cp-field__input{width:100%;min-width:0;padding:3px 6px;border:1px solid var(--sl-border, #e5e7eb);border-radius:3px;font-size:12px;font-weight:600;color:var(--text-main, #1a1a2e);background:var(--bg-main, #fff);font-variant-numeric:tabular-nums;box-sizing:border-box}.cp-field__input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1f}.cp-calc-btn{background:none;border:1px solid var(--sl-border, #e5e7eb);border-radius:2px;padding:0 4px;font-size:8px;font-weight:700;color:#2563eb;cursor:pointer;text-transform:uppercase;letter-spacing:.3px;line-height:14px}.cp-calc-btn:hover{background:#2563eb14;border-color:#2563eb}.cp-toolbar{display:flex;align-items:center;gap:6px;flex-shrink:0}.cp-toolbar__spacer{flex:1}.cp-period{display:flex;align-items:center;gap:4px}.cp-period__label{font-size:11px;font-weight:600;color:var(--text-secondary, #6b7280)}.cp-period__input{width:44px;padding:3px 4px;border:1px solid var(--sl-border, #e5e7eb);border-radius:3px;font-size:12px;font-weight:600;color:var(--text-main, #1a1a2e);background:var(--bg-main, #fff);font-variant-numeric:tabular-nums;text-align:center;box-sizing:border-box}.cp-period__input:focus{outline:none;border-color:#2563eb}.cp-period__select{padding:3px 4px;border:1px solid var(--sl-border, #e5e7eb);border-radius:3px;font-size:11px;font-weight:600;color:var(--text-main, #1a1a2e);background:var(--bg-main, #fff);cursor:pointer;box-sizing:border-box}.cp-period__select:focus{outline:none;border-color:#2563eb}.cp-btn{background:none;border:1px solid var(--sl-border, #e5e7eb);border-radius:4px;padding:4px 10px;font-size:11px;font-weight:600;color:var(--text-secondary, #6b7280);cursor:pointer;transition:all .15s;white-space:nowrap}.cp-btn:hover{border-color:#2563eb;color:#2563eb}.cp-btn--primary{background:#2563eb;border-color:#2563eb;color:#fff}.cp-btn--primary:hover{background:#1d4ed8}.cp-table-wrap{border:1px solid var(--sl-border, #e5e7eb);border-radius:5px;flex-shrink:0;overflow:hidden}.cp-table{width:100%;border-collapse:collapse;font-size:11px;table-layout:fixed}.cp-th{background:var(--bg-secondary, #f9fafb);padding:4px;text-align:left;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:var(--text-secondary, #6b7280);border-bottom:1px solid var(--sl-border, #e5e7eb);white-space:nowrap;overflow:hidden}.cp-th--num{width:3%;text-align:center}.cp-th--type{width:12%}.cp-th--count{width:9%}.cp-th--cat{width:16%}.cp-th--scope{width:12%}.cp-th--impact{width:10%}.cp-th--loss,.cp-th--rev{width:19%;text-align:right}.cp-row{border-bottom:1px solid var(--sl-border, #e5e7eb);cursor:pointer}.cp-row:last-child{border-bottom:none}.cp-row:hover{background:#2563eb08}.cp-row--selected{background:#2563eb0f;box-shadow:inset 2px 0 #2563eb}.cp-td{padding:2px 4px;vertical-align:middle;overflow:hidden}.cp-td--num{text-align:center;color:var(--text-secondary, #6b7280);font-size:9px}.cp-td--type{display:flex;align-items:center;gap:4px;font-weight:600;font-size:11px;color:var(--text-main, #1a1a2e);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cp-td--loss,.cp-td--rev{text-align:right;font-variant-numeric:tabular-nums;font-weight:500;font-size:11px;color:var(--text-main, #1a1a2e);white-space:nowrap}.cp-fault-dot{width:8px;height:8px;border-radius:2px;flex-shrink:0}.cp-cell-input{width:100%;padding:2px 4px;border:1px solid var(--sl-border, #e5e7eb);border-radius:3px;font-size:11px;font-weight:600;color:var(--text-main, #1a1a2e);background:var(--bg-main, #fff);font-variant-numeric:tabular-nums;box-sizing:border-box}.cp-cell-input:focus{outline:none;border-color:#2563eb}.cp-cell-select{width:100%;padding:2px;border:1px solid var(--sl-border, #e5e7eb);border-radius:3px;font-size:10px;color:var(--text-main, #1a1a2e);background:var(--bg-main, #fff);cursor:pointer;box-sizing:border-box}.cp-cell-select:focus{outline:none;border-color:#2563eb}.cp-bottom{display:grid;grid-template-columns:260px 1fr;gap:12px;flex-shrink:0}@media(max-width:700px){.cp-bottom{grid-template-columns:1fr}}.cp-summary{display:flex;flex-direction:column;gap:8px}.cp-summary__item{background:var(--bg-secondary, #f9fafb);border:1px solid var(--sl-border, #e5e7eb);border-radius:6px;padding:8px 12px;display:flex;flex-direction:column;gap:1px}.cp-summary__label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--text-secondary, #6b7280)}.cp-summary__value{font-size:18px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.2}.cp-summary__value--loss{color:#dc2626}.cp-summary__value--money{color:#b91c1c}.cp-summary__sub{font-size:10px;color:var(--text-secondary, #6b7280)}.cp-pareto{min-width:0}.cp-pareto__title{font-size:11px;font-weight:700;color:var(--text-main, #1a1a2e);margin-bottom:6px}.cp-pareto__chart{display:flex;flex-direction:column;gap:3px}.cp-pareto__row{display:grid;grid-template-columns:65px 1fr 42px 72px 58px;align-items:center;gap:6px;font-size:10px}.cp-pareto__label{font-weight:600;color:var(--text-main, #1a1a2e);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cp-pareto__bar-track{height:14px;background:var(--bg-secondary, #f3f4f6);border-radius:2px;overflow:hidden}.cp-pareto__bar-fill{height:100%;border-radius:2px;transition:width .3s ease;min-width:2px}.cp-pareto__pct{text-align:right;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-secondary, #6b7280)}.cp-pareto__value{text-align:right;font-variant-numeric:tabular-nums;color:var(--text-main, #1a1a2e)}.cp-pareto__revenue{text-align:right;font-variant-numeric:tabular-nums;color:#b91c1c;font-weight:600}.cp-empty{text-align:center;padding:12px;color:var(--text-secondary, #6b7280);font-size:11px}.cp-logic{background:var(--bg-secondary, #f9fafb);border:1px solid var(--sl-border, #e5e7eb);border-radius:5px;padding:6px 10px;flex-shrink:0}.cp-logic__header{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:700;color:var(--text-main, #1a1a2e);margin-bottom:4px}.cp-logic__dot{width:8px;height:8px;border-radius:2px;flex-shrink:0}.cp-logic__tag{color:var(--text-secondary, #6b7280);font-weight:500}.cp-logic__steps{font-family:SF Mono,Cascadia Code,Consolas,monospace;font-size:10px;line-height:1.6;color:var(--text-main, #1a1a2e);border-top:1px solid var(--sl-border, #e5e7eb);padding-top:4px}.cp-logic__line{display:flex;gap:4px}.cp-logic__label{min-width:70px;color:var(--text-secondary, #6b7280)}.cp-logic__expr{flex:1}.cp-logic__result{font-weight:700;min-width:110px;text-align:right}.cp-logic__note{font-size:10px;color:var(--text-secondary, #6b7280);font-style:italic}.share-modal__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--sl-z-modal);padding:var(--sl-space-4)}.share-modal{background:var(--bg-card);border-radius:var(--r-card);box-shadow:var(--shadow-lg);width:100%;max-width:420px;max-height:90vh;overflow-y:auto;padding:var(--sl-space-6)}.share-modal__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sl-space-4)}.share-modal__title{font-size:var(--sl-text-lg);font-weight:var(--sl-font-semibold);color:var(--text-main);margin:0}.share-modal__close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:none;font-size:20px;color:var(--text-secondary);cursor:pointer;border-radius:var(--r-sm)}.share-modal__close:hover{background:var(--sl-bg-hover)}.share-modal__qr{display:flex;flex-direction:column;align-items:center;margin-bottom:var(--sl-space-4)}.share-modal__qr-canvas{border-radius:var(--r-tile);border:1px solid var(--sl-border)}.share-modal__qr-hint{font-size:var(--sl-text-xs);color:var(--text-muted);margin-top:var(--sl-space-2)}.share-modal__url-row{display:flex;gap:var(--sl-space-2);margin-bottom:var(--sl-space-4)}.share-modal__url-input{flex:1;padding:var(--sl-space-2) var(--sl-space-3);border:1px solid var(--sl-border);border-radius:var(--r-sm);font-size:var(--sl-text-sm);color:var(--text-main);background:var(--gray-50);min-width:0}.share-modal__copy-btn{padding:var(--sl-space-2) var(--sl-space-4);background:var(--primary-blue);color:#fff;border:none;border-radius:var(--r-sm);font-size:var(--sl-text-sm);font-weight:var(--sl-font-medium);cursor:pointer;white-space:nowrap;transition:background var(--sl-transition-fast)}.share-modal__copy-btn:hover{background:var(--sl-accent-hover)}.share-modal__buttons{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--sl-space-2)}.share-modal__btn{display:flex;flex-direction:column;align-items:center;gap:var(--sl-space-1);padding:var(--sl-space-3) var(--sl-space-2);border:1px solid var(--sl-border);border-radius:var(--r-tile);background:var(--bg-card);color:var(--text-main);font-size:var(--sl-text-xs);font-weight:var(--sl-font-medium);cursor:pointer;text-decoration:none;transition:background var(--sl-transition-fast),border-color var(--sl-transition-fast)}.share-modal__btn:hover{background:var(--sl-bg-hover);border-color:var(--sl-border-hover)}.share-modal__btn--native{color:var(--primary-blue);border-color:var(--primary-blue)}.share-modal__btn--whatsapp{color:#25d366}.share-modal__btn--whatsapp:hover{border-color:#25d366}.share-modal__btn--sms{color:var(--primary-blue)}.share-modal__btn--gmail{color:#ea4335}.share-modal__btn--gmail:hover{border-color:#ea4335}.share-modal__btn--outlook{color:#0078d4}.share-modal__btn--outlook:hover{border-color:#0078d4}.share-modal__btn--email{color:var(--text-secondary)}.mu-panel{position:absolute;bottom:16px;right:16px;width:380px;max-height:520px;background:var(--bg-card);border-radius:var(--r-card);box-shadow:var(--shadow-lg);z-index:var(--sl-z-panel);display:flex;flex-direction:column;overflow:hidden}.mu-header{display:flex;align-items:center;gap:var(--sl-space-2);padding:var(--sl-space-3) var(--sl-space-4);background:var(--bg-sidebar);color:var(--text-inverted);flex-shrink:0}.mu-header__title{font-size:var(--sl-text-base);font-weight:var(--sl-font-semibold);flex:1}.mu-badge{background:var(--primary-blue);color:#fff;font-size:var(--sl-text-xs);font-weight:var(--sl-font-bold);padding:1px 7px;border-radius:10px;min-width:18px;text-align:center}.mu-header__btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:none;color:#ffffffb3;cursor:pointer;border-radius:var(--r-sm);font-size:16px}.mu-header__btn:hover{background:#ffffff1a;color:#fff}.mu-body{flex:1;overflow-y:auto;padding:var(--sl-space-3) var(--sl-space-4);display:flex;flex-direction:column;gap:var(--sl-space-3)}.mu-no-site{text-align:center;padding:var(--sl-space-6) var(--sl-space-4);color:var(--text-secondary);font-size:var(--sl-text-sm)}.mu-link-section{background:var(--gray-50);border-radius:var(--r-tile);padding:var(--sl-space-3)}.mu-link-section__title{font-size:var(--sl-text-xs);font-weight:var(--sl-font-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--sl-space-2)}.mu-generate-form{display:flex;flex-direction:column;gap:var(--sl-space-2)}.mu-generate-form__row{display:flex;gap:var(--sl-space-2)}.mu-generate-form input,.mu-generate-form select{padding:var(--sl-space-2);border:1px solid var(--sl-border);border-radius:var(--r-sm);font-size:var(--sl-text-sm);background:var(--bg-card);flex:1;min-width:0}.mu-generate-btn{padding:var(--sl-space-2) var(--sl-space-3);background:var(--primary-blue);color:#fff;border:none;border-radius:var(--r-sm);font-size:var(--sl-text-sm);font-weight:var(--sl-font-medium);cursor:pointer;transition:background var(--sl-transition-fast)}.mu-generate-btn:hover{background:var(--sl-accent-hover)}.mu-generate-btn:disabled{opacity:.6;cursor:not-allowed}.mu-active-link{display:flex;flex-direction:column;gap:var(--sl-space-2)}.mu-active-link__info{display:flex;align-items:center;gap:var(--sl-space-2)}.mu-active-link__status{width:8px;height:8px;border-radius:50%;flex-shrink:0}.mu-active-link__status--active{background:var(--sl-success)}.mu-active-link__status--paused{background:var(--sl-warning)}.mu-active-link__label{flex:1;font-size:var(--sl-text-sm);font-weight:var(--sl-font-medium);color:var(--text-main)}.mu-active-link__count{font-size:var(--sl-text-xs);color:var(--text-secondary)}.mu-active-link__actions{display:flex;gap:var(--sl-space-2)}.mu-link-btn{flex:1;padding:var(--sl-space-2);border:1px solid var(--sl-border);border-radius:var(--r-sm);background:var(--bg-card);color:var(--text-main);font-size:var(--sl-text-xs);font-weight:var(--sl-font-medium);cursor:pointer;text-align:center;transition:background var(--sl-transition-fast)}.mu-link-btn:hover{background:var(--sl-bg-hover)}.mu-link-btn--share{background:var(--primary-blue);border-color:var(--primary-blue);color:#fff}.mu-link-btn--share:hover{background:var(--sl-accent-hover)}.mu-link-btn--danger{color:var(--sl-error);border-color:var(--sl-error)}.mu-link-btn--danger:hover{background:var(--sl-error-bg)}.mu-filter-tabs{display:flex;gap:2px;background:var(--gray-100);border-radius:var(--r-sm);padding:2px}.mu-filter-tab{flex:1;padding:var(--sl-space-1) var(--sl-space-2);border:none;border-radius:4px;background:transparent;color:var(--text-secondary);font-size:var(--sl-text-xs);font-weight:var(--sl-font-medium);cursor:pointer;text-align:center;transition:background var(--sl-transition-fast)}.mu-filter-tab--active{background:var(--bg-card);color:var(--text-main);box-shadow:0 1px 3px #00000014}.mu-uploads-list{display:flex;flex-direction:column;gap:var(--sl-space-2)}.mu-upload-card{display:flex;gap:var(--sl-space-2);padding:var(--sl-space-2);border:1px solid var(--sl-border);border-radius:var(--r-tile);transition:border-color var(--sl-transition-fast)}.mu-upload-card:hover{border-color:var(--sl-border-hover)}.mu-upload-card__thumb{width:56px;height:56px;border-radius:var(--r-sm);object-fit:cover;background:var(--gray-100);flex-shrink:0}.mu-upload-card__thumb--video,.mu-upload-card__thumb--fallback{display:flex;align-items:center;justify-content:center;background:var(--gray-200);color:var(--text-secondary);font-size:20px}.mu-upload-card__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.mu-upload-card__name{font-size:var(--sl-text-sm);font-weight:var(--sl-font-medium);color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mu-upload-card__meta{display:flex;align-items:center;gap:var(--sl-space-1);font-size:var(--sl-text-xs);color:var(--text-secondary)}.mu-gps-badge{display:inline-flex;align-items:center;gap:3px;padding:1px 6px;border-radius:var(--r-sm);font-size:10px;font-weight:var(--sl-font-semibold)}.mu-gps-badge--yes{background:var(--sl-success-bg);color:var(--sl-success)}.mu-gps-badge--no{background:var(--sl-warning-bg);color:var(--sl-warning)}.mu-status-badge{display:inline-flex;padding:1px 6px;border-radius:var(--r-sm);font-size:10px;font-weight:var(--sl-font-semibold)}.mu-status-badge--placed{background:var(--sl-info-bg);color:var(--sl-info)}.mu-upload-card__actions{display:flex;flex-direction:column;gap:4px;flex-shrink:0}.mu-card-btn{padding:4px 8px;border:1px solid var(--sl-border);border-radius:var(--r-sm);background:var(--bg-card);color:var(--text-main);font-size:10px;font-weight:var(--sl-font-medium);cursor:pointer;white-space:nowrap;transition:background var(--sl-transition-fast)}.mu-card-btn:hover{background:var(--sl-bg-hover)}.mu-card-btn--primary{background:var(--primary-blue);border-color:var(--primary-blue);color:#fff}.mu-card-btn--primary:hover{background:var(--sl-accent-hover)}.mu-card-btn--danger{color:var(--sl-error)}.mu-card-btn--danger:hover{background:var(--sl-error-bg)}.mu-card-btn--locate{color:var(--primary-blue);border-color:var(--primary-blue)}.mu-card-btn--locate:hover{background:#3b82f614}.mu-card-btn:disabled{opacity:.5;cursor:not-allowed}.mu-upload-card--placed{border-color:var(--sl-info);background:#3b82f60a}.mu-upload-card__thumb--clickable{cursor:pointer;transition:opacity var(--sl-transition-fast)}.mu-upload-card__thumb--clickable:hover{opacity:.8}.mu-place-bar{padding:var(--sl-space-2) var(--sl-space-3);background:var(--sl-warning-bg);border:1px solid var(--sl-warning);border-radius:var(--r-sm);display:flex;align-items:center;justify-content:space-between;font-size:var(--sl-text-xs);color:var(--sl-warning);font-weight:var(--sl-font-medium)}.mu-place-bar__cancel{padding:2px 8px;background:none;border:1px solid var(--sl-warning);border-radius:var(--r-sm);color:var(--sl-warning);font-size:10px;cursor:pointer}.mu-empty{text-align:center;padding:var(--sl-space-4);color:var(--text-muted);font-size:var(--sl-text-sm)}.mu-refresh-row{display:flex;align-items:center;justify-content:space-between}.mu-refresh-btn{padding:var(--sl-space-1) var(--sl-space-2);background:none;border:1px solid var(--sl-border);border-radius:var(--r-sm);color:var(--text-secondary);font-size:var(--sl-text-xs);cursor:pointer}.mu-refresh-btn:hover{background:var(--sl-bg-hover)}.mu-preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;z-index:calc(var(--sl-z-panel) + 10);display:flex;align-items:center;justify-content:center;padding:24px}.mu-preview-overlay__content{max-width:90vw;max-height:90vh;display:flex;flex-direction:column;gap:8px}.mu-preview-overlay__img,.mu-preview-overlay__video{max-width:100%;max-height:calc(90vh - 48px);object-fit:contain;border-radius:var(--r-card)}.mu-preview-overlay__footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.mu-preview-overlay__name{color:#fffc;font-size:var(--sl-text-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mu-preview-overlay__close{padding:6px 16px;background:#ffffff26;border:1px solid rgba(255,255,255,.3);border-radius:var(--r-sm);color:#fff;font-size:var(--sl-text-sm);cursor:pointer;flex-shrink:0}.mu-preview-overlay__close:hover{background:#ffffff40}.copilot-panel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;background:#00000073}.copilot-panel-container{width:520px;max-width:90vw;height:600px;max-height:85vh;display:flex;flex-direction:column;background:#1a1a2e;border:1px solid #2a2a4a;border-radius:12px;overflow:hidden;box-shadow:0 8px 32px #0006}.copilot-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#16162a;border-bottom:1px solid #2a2a4a;flex-shrink:0}.copilot-panel-header__left{display:flex;align-items:center;gap:8px;color:#e0e0ff}.copilot-panel-title{font-size:14px;font-weight:600}.copilot-panel-site{font-weight:400;opacity:.7;font-size:13px}.copilot-panel-close{background:none;border:none;color:#888;font-size:20px;cursor:pointer;padding:2px 6px;border-radius:4px}.copilot-panel-close:hover{color:#fff;background:#ffffff1a}.copilot-scope{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#1e1e38;border-bottom:1px solid #2a2a4a;flex-shrink:0;position:relative}.copilot-scope-label{font-size:11px;color:#888;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}.copilot-scope-btn{display:flex;align-items:center;gap:6px;background:#224;border:1px solid #3a3a5a;border-radius:6px;padding:5px 10px;color:#d0d0ee;font-size:12px;cursor:pointer;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.copilot-scope-btn:hover:not(:disabled){border-color:#55a;background:#2a2a50}.copilot-scope-btn:disabled{opacity:.5;cursor:default}.copilot-scope-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.copilot-scope-dot--site{background:#50c878}.copilot-scope-dot--asset{background:#59f}.copilot-scope-chevron{margin-left:auto;font-size:10px;color:#888;flex-shrink:0}.copilot-scope-dropdown{position:absolute;top:100%;left:16px;right:16px;max-height:220px;overflow-y:auto;background:#1a1a30;border:1px solid #3a3a5a;border-radius:6px;box-shadow:0 4px 16px #0006;z-index:10;padding:4px}.copilot-scope-option{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:none;border:none;padding:7px 10px;border-radius:4px;color:#c0c0dd;font-size:12px;cursor:pointer}.copilot-scope-option:hover{background:#ffffff0f}.copilot-scope-option--active{background:#55a3;color:#e0e0ff}.copilot-scope-type{font-size:10px;background:#6464c826;color:#99c;padding:1px 5px;border-radius:3px;text-transform:uppercase;flex-shrink:0}.copilot-scope-loading{padding:8px 10px;color:#666;font-size:12px;font-style:italic}.copilot-msg-scope{display:inline-block;background:#50c8781f;color:#50c878;font-size:10px;padding:1px 6px;border-radius:3px;margin-bottom:4px}.copilot-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.copilot-empty{margin:auto;text-align:center;color:#888;font-size:13px;max-width:300px}.copilot-empty p{margin:0 0 8px}.copilot-empty-hint{font-size:12px;opacity:.7}.copilot-msg{display:flex}.copilot-msg--user{justify-content:flex-end}.copilot-msg--assistant,.copilot-msg--refusal{justify-content:flex-start}.copilot-msg__bubble{max-width:85%;padding:10px 14px;border-radius:12px;font-size:13px;line-height:1.5}.copilot-msg__bubble--user{background:#3a3a6a;color:#e0e0ff;border-bottom-right-radius:4px}.copilot-msg__bubble--assistant{background:#224;color:#d0d0ee;border-bottom-left-radius:4px}.copilot-msg__bubble--refusal{background:#3a2020;color:#ffa0a0;border-bottom-left-radius:4px}.copilot-refusal-icon{margin-right:6px}.copilot-msg__bubble--loading{background:#224;color:#88a;font-style:italic;border-bottom-left-radius:4px}.copilot-answer-text p{margin:0 0 6px;font-size:13px}.copilot-answer-text p:last-child{margin-bottom:0}.copilot-quality-warning{background:#ffb4001f;border:1px solid rgba(255,180,0,.3);border-radius:6px;padding:8px 10px;margin-bottom:10px;font-size:12px;color:#fc6}.copilot-confidence-row{margin-top:10px;display:flex}.copilot-confidence-badge{display:inline-block;padding:3px 10px;border-radius:10px;font-size:11px;font-weight:600}.copilot-confidence--high{background:#50c87826;color:#50c878;border:1px solid rgba(80,200,120,.3)}.copilot-confidence--moderate{background:#ffb4001f;color:#ffb400;border:1px solid rgba(255,180,0,.3)}.copilot-confidence--low{background:#ff50501f;color:#ff5050;border:1px solid rgba(255,80,80,.3)}.copilot-uncertainty{margin-top:10px;display:flex;flex-direction:column;gap:4px}.copilot-uncertainty-item{font-size:11px;color:#aaa;line-height:1.4}.copilot-uncertainty-tag{display:inline-block;background:#ffffff14;border-radius:3px;padding:1px 5px;font-size:10px;margin-right:4px;text-transform:uppercase;letter-spacing:.03em;color:#999}.copilot-grounding{margin-top:10px;border-top:1px solid rgba(255,255,255,.06);padding-top:8px}.copilot-grounding-toggle{background:none;border:none;color:#88c;cursor:pointer;font-size:12px;padding:2px 4px;border-radius:3px}.copilot-grounding-toggle:hover{color:#aae;background:#ffffff0d}.copilot-grounding-list{margin-top:6px;display:flex;flex-direction:column;gap:4px}.copilot-ref-item{display:flex;align-items:baseline;gap:6px;font-size:11px;padding:4px 6px;background:#ffffff08;border-radius:4px}.copilot-ref-type{flex-shrink:0;background:#6464c826;color:#99c;padding:1px 6px;border-radius:3px;font-size:10px;font-weight:600;text-transform:uppercase}.copilot-ref-claim{flex:1;color:#bbb;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.copilot-ref-id{flex-shrink:0;color:#666;font-family:monospace;font-size:10px}.copilot-error{background:#ff50501f;border:1px solid rgba(255,80,80,.3);border-radius:6px;padding:8px 10px;font-size:12px;color:#ff5050}.copilot-input-row{display:flex;gap:8px;padding:12px 16px;background:#16162a;border-top:1px solid #2a2a4a;flex-shrink:0}.copilot-input{flex:1;background:#224;border:1px solid #3a3a5a;border-radius:8px;padding:8px 12px;color:#e0e0ff;font-size:13px;outline:none}.copilot-input::placeholder{color:#666}.copilot-input:focus{border-color:#55a}.copilot-input:disabled{opacity:.5}.copilot-send{background:#3a3a7a;border:1px solid #4a4a8a;border-radius:8px;padding:8px 12px;color:#e0e0ff;cursor:pointer;display:flex;align-items:center;justify-content:center}.copilot-send:hover:not(:disabled){background:#4a4a9a}.copilot-send:disabled{opacity:.4;cursor:default}.asset-loading-bar{position:absolute;top:0;left:0;right:0;z-index:350;pointer-events:none}.asset-loading-bar__track{height:2px;background:transparent;overflow:hidden}.asset-loading-bar__fill{height:100%;background:var(--primary-blue, #2F80FF);transition:width .3s ease;min-width:1%;box-shadow:0 0 6px #2f80ff66}.asset-loading-bar__fill--done{background:var(--green, #27AE60);box-shadow:0 0 6px #27ae6066}.asset-loading-bar--fading .asset-loading-bar__track{animation:asset-bar-fade-out 1s ease .5s forwards}@keyframes asset-bar-fade-out{0%{opacity:1}to{opacity:0}}.editor-page{position:relative;height:100vh;width:100vw;overflow:hidden}.editor-header{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;height:52px;padding:0 var(--sl-space-4) 0 var(--sl-space-3);z-index:var(--sl-z-fixed);gap:var(--sl-space-4);background:transparent;pointer-events:none}.editor-header__brand,.editor-header__center,.editor-header__right{pointer-events:auto}.editor-header__brand{display:flex;align-items:center;gap:var(--sl-space-2);flex-shrink:0}.brand-logo-img{height:36px;width:auto;object-fit:contain}.brand-version{font-size:var(--sl-text-xs);color:var(--primary-blue);font-weight:var(--sl-font-semibold);background:var(--primary-blue-soft);padding:2px 7px;border-radius:var(--sl-radius-full);letter-spacing:.04em;line-height:1.4}.editor-header__center{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:var(--sl-space-4);pointer-events:auto}.editor-header__right{display:flex;align-items:center;gap:var(--sl-space-2);flex-shrink:0}.date-filter{display:flex;align-items:center;gap:var(--sl-space-2);background-color:var(--gray-50);border:1px solid var(--sl-border);border-radius:var(--r-md);padding:0 var(--sl-space-3);height:32px;transition:border-color var(--sl-transition-fast)}.date-filter:hover{border-color:var(--gray-400)}.date-filter__icon{color:var(--text-muted);flex-shrink:0}.date-filter__select{background:transparent;border:none;color:var(--text-secondary);font-size:var(--sl-text-sm);cursor:pointer;padding:0;outline:none;min-width:110px}.date-filter__select:focus{box-shadow:none}.brand-separator{color:var(--text-muted);font-size:var(--sl-text-sm);margin:0 2px;-webkit-user-select:none;user-select:none}.header-project-name{display:inline-flex;align-items:center;gap:4px;font-size:var(--sl-text-xs);color:var(--text-main);font-weight:var(--sl-font-medium);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#fff;padding:4px 10px;border-radius:var(--sl-radius-full)}.header-modified-dot{width:6px;height:6px;border-radius:var(--sl-radius-full);background:var(--orange);flex-shrink:0;animation:pulse-dot 1.8s ease-in-out infinite}.header-local-pill{display:flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--sl-radius-full);font-size:var(--sl-text-xs);font-weight:var(--sl-font-medium);background:#fff;color:var(--orange, #F2994A);border:1px solid var(--orange, #F2994A);cursor:pointer;transition:all var(--sl-transition-fast)}.header-local-pill:hover{background:#f2994a26}.header-status-pill{display:flex;align-items:center;gap:var(--sl-space-2);padding:4px 10px;border-radius:var(--sl-radius-full);font-size:var(--sl-text-xs);font-weight:var(--sl-font-medium);transition:all var(--sl-transition-fast)}.header-status-pill--saved,.header-status-pill--idle{background:#fff;color:var(--green)}.header-status-pill--modified,.header-status-pill--unsaved{background:#fff;color:var(--orange)}.header-status-pill--saving,.header-status-pill--loading{background:#fff;color:var(--primary, #2F80FF)}.header-status-pill--error{background:#fff;color:var(--red, #EB5757)}.header-status-dot{width:6px;height:6px;border-radius:var(--sl-radius-full);background:currentColor}.editor-body{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;overflow:hidden}.rail-wrapper{position:absolute;top:60px;z-index:var(--sl-z-fixed)}.rail-wrapper--left{left:0}.rail-wrapper--right{right:0}.left-rail,.right-rail{width:72px;display:flex;flex-direction:column;align-items:center;background-color:var(--bg-sidebar);padding:0;border-radius:12px}.rail-logo{display:flex;align-items:center;justify-content:center;width:100%;padding:var(--sl-space-3) 0;border-bottom:1px solid var(--sl-nav-border);margin-bottom:var(--sl-space-2);flex-shrink:0}.rail-logo-dot{width:8px;height:8px;border-radius:var(--sl-radius-full);background:var(--primary-blue);box-shadow:0 0 10px #2f80ff80}.rail-logo-dot--green{background:var(--green);box-shadow:0 0 10px #27ae6080}.rail-items{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;width:100%;padding:var(--sl-space-1) 0}.rail-bottom{display:flex;flex-direction:column;align-items:center;gap:4px;padding:var(--sl-space-2) 0;border-top:1px solid var(--sl-nav-border);width:100%;flex-shrink:0}.rail-item{position:relative;display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:transparent;border:none;border-radius:var(--r-pill);color:var(--sl-nav-icon);cursor:pointer;transition:color .15s var(--ease-out),background-color .15s var(--ease-out),transform 80ms ease}.rail-item:hover{color:#ffffffd9;background-color:#ffffff0f}.rail-item:active{transform:scale(.9)}.rail-item--active{background-color:var(--sl-nav-active-bg);color:var(--sl-nav-icon-active)}.rail-item--active:hover{background-color:#243044;color:#fff}.rail-item__icon{display:flex;align-items:center;justify-content:center}.rail-item__badge{position:absolute;top:5px;right:5px;min-width:15px;height:15px;background:var(--primary-blue);color:#fff;font-size:9px;font-weight:var(--sl-font-bold);border-radius:var(--sl-radius-full);display:flex;align-items:center;justify-content:center;padding:0 3px;line-height:1}.rail-theme-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:transparent;border:none;border-radius:var(--r-pill);color:var(--sl-nav-icon);cursor:pointer;transition:color .15s var(--ease-out),background-color .15s var(--ease-out),transform 80ms ease}.rail-theme-toggle:hover{color:#ffffffd9;background-color:#ffffff0f}.rail-theme-toggle:active{transform:scale(.9)}.left-ticket,.right-ticket{position:absolute;top:0;width:0;overflow:hidden;transition:width .22s cubic-bezier(.2,.8,.2,1)}.left-ticket{left:72px}.right-ticket{right:72px}.left-ticket[data-open=true],.right-ticket[data-open=true]{width:280px}.ticket-inner{width:280px;min-width:280px;display:flex;flex-direction:column;height:auto;max-height:calc(100vh - 60px);background:var(--bg-card);transition:background-color var(--sl-transition-normal);border-radius:0 0 12px;overflow:hidden}.left-ticket .ticket-inner{box-shadow:4px 4px 20px #0000002e;border-radius:0 0 12px}.right-ticket .ticket-inner{box-shadow:-4px 4px 20px #0000002e;border-radius:0 0 0 12px}.ticket-header{display:flex;align-items:center;gap:8px;padding:0 12px;height:44px;background:var(--bg-sidebar);flex-shrink:0;border-bottom:1px solid rgba(255,255,255,.05)}.ticket-header__icon{display:flex;align-items:center;color:#ffffff8c;flex-shrink:0}.ticket-header__icon svg{width:16px;height:16px}.ticket-header__label{flex:1;font-size:var(--sl-text-xs);font-weight:var(--sl-font-semibold);color:#ffffffd9;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ticket-close{width:24px;height:24px;background:transparent;border:none;color:#ffffff73;cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:18px;line-height:1;transition:color .15s,background-color .15s;flex-shrink:0;padding:0}.ticket-close:hover{color:#fff;background:#ffffff1a}.ticket-body{overflow-y:auto}.map-area{flex:1;position:relative;overflow:hidden;min-width:0}.map-area .mapboxgl-ctrl-bottom-right{bottom:28px!important;right:10px!important}.floating-layers{position:absolute;top:0;right:0;bottom:0;left:0;z-index:350;pointer-events:none}.draw-mode-overlay{position:absolute;top:var(--sl-space-4);left:50%;transform:translate(-50%);z-index:var(--sl-z-panel)}.draw-mode-indicator{display:inline-flex;align-items:center;gap:var(--sl-space-2);padding:var(--sl-space-2) var(--sl-space-5);background-color:var(--primary-blue);color:#fff;border-radius:var(--sl-radius-full);font-size:var(--sl-text-sm);font-weight:var(--sl-font-semibold);text-transform:capitalize;box-shadow:var(--shadow-card),0 0 16px #2f80ff59;letter-spacing:.02em}.editor-status{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;height:28px;padding:0 var(--sl-space-4);background-color:var(--bg-card);border-top:1px solid rgba(0,0,0,.06);font-size:11px;color:var(--text-muted);z-index:var(--sl-z-panel);transition:background-color var(--sl-transition-normal)}.editor-status__left,.editor-status__center,.editor-status__right{display:flex;align-items:center;gap:var(--sl-space-4)}.editor-status__item{display:flex;align-items:center;gap:var(--sl-space-2)}.editor-status__coords{font-family:var(--font-mono);font-size:11px;letter-spacing:.02em;font-variant-numeric:tabular-nums}.status-dot{width:7px;height:7px;border-radius:var(--sl-radius-full);flex-shrink:0}.status-dot--success{background-color:var(--green)}.status-dot--warning{background-color:var(--orange)}.status-dot--error{background-color:var(--red)}.status-dot--ok{background-color:var(--green)}.status-dot--critical{background-color:var(--red);animation:pulse-dot 1.5s ease-in-out infinite}.status-dot--offline{background-color:var(--gray-400)}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.45}}.indication-popup-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);z-index:var(--sl-z-modal-backdrop)}.toast-container{position:fixed;bottom:16px;right:16px;z-index:10000;display:flex;flex-direction:column;gap:8px;max-width:360px;pointer-events:none}.toast{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border-radius:10px;background:var(--sl-surface, #1e1e2e);border:1px solid var(--sl-border, rgba(255,255,255,.1));box-shadow:0 4px 16px #0000004d;font-size:13px;color:var(--sl-text, #e0e0e0);animation:toast-slide-in .2s ease-out;pointer-events:auto}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast--success{border-left:3px solid var(--green, #27AE60)}.toast--error{border-left:3px solid var(--red, #EB5757)}.toast--warning{border-left:3px solid var(--orange, #F2994A)}.toast--info{border-left:3px solid var(--primary, #2F80FF)}.toast__content{flex:1;display:flex;flex-direction:column;gap:2px}.toast__title{font-weight:600;font-size:13px}.toast__message{font-size:12px;color:var(--sl-text-secondary, #999)}.toast__close{background:none;border:none;color:var(--sl-text-muted, #666);cursor:pointer;font-size:16px;line-height:1;padding:0 2px;flex-shrink:0}.toast__close:hover{color:var(--sl-text, #e0e0e0)}.mon-page{display:flex;width:100vw;height:100vh;overflow:hidden;background:var(--bg-main);font-family:var(--font-main)}.mon-sidebar{width:var(--sl-nav-width);flex-shrink:0;display:flex;flex-direction:column;align-items:center;background:var(--bg-sidebar);padding:var(--sl-space-3) 0}.mon-sidebar__logo{display:flex;align-items:center;justify-content:center;width:100%;padding:var(--sl-space-1) 0 var(--sl-space-4);border-bottom:1px solid rgba(255,255,255,.07);margin-bottom:var(--sl-space-2)}.mon-sidebar__dot{width:8px;height:8px;border-radius:50%;background:var(--primary-blue);box-shadow:0 0 10px #2f80ff80}.mon-sidebar__items{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;padding-top:var(--sl-space-2);width:100%}.mon-sidebar__bottom{display:flex;flex-direction:column;align-items:center;gap:4px;padding-bottom:var(--sl-space-2);width:100%}.mon-nav-item{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--r-pill);color:var(--sl-nav-icon);background:transparent;border:none;cursor:pointer;transition:color .15s var(--ease-out),background-color .15s var(--ease-out);text-decoration:none}.mon-nav-item:hover{color:#ffffffd9;background:#ffffff0f}.mon-nav-item--passive{cursor:default}.mon-nav-item--passive:hover{background:transparent}.mon-main{flex:1;display:flex;flex-direction:column;overflow:hidden}.mon-header{display:flex;align-items:center;gap:var(--sl-space-4);padding:0 var(--page-pad);height:56px;background:var(--bg-card);box-shadow:0 1px #0000000f;flex-shrink:0}.mon-header__left{display:flex;align-items:center;gap:10px;flex:1}.mon-header__title{font-size:16px;font-weight:var(--sl-font-semibold);color:var(--text-main);margin:0}.mon-header__live{font-size:11px;font-weight:var(--sl-font-medium);color:var(--green)}.mon-header__live--off{color:var(--text-muted)}.mon-banner{display:flex;align-items:center;gap:var(--sl-space-2);padding:8px var(--page-pad);font-size:13px;flex-shrink:0}.mon-banner--error{background:#fef2f2;color:#dc2626;border-bottom:1px solid #fecaca}.mon-banner--error svg{flex-shrink:0;opacity:.7}.mon-header__right{flex-shrink:0}.mon-header__time{font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums}.mon-tabs{display:flex;align-items:center;gap:4px;background:var(--gray-100);border-radius:var(--r-md);padding:3px}.mon-tab{display:flex;align-items:center;gap:5px;padding:5px 12px;border-radius:calc(var(--r-md) - 2px);font-size:13px;font-weight:var(--sl-font-medium);color:var(--text-secondary);background:transparent;border:none;cursor:pointer;transition:background-color .15s var(--ease-out),color .15s var(--ease-out);white-space:nowrap}.mon-tab:hover{color:var(--text-main)}.mon-tab--active{background:var(--bg-card);color:var(--text-main);box-shadow:0 1px 4px #00000014}.mon-overview{flex:1;overflow-y:auto;padding:var(--page-pad);display:flex;flex-direction:column;gap:var(--grid-gap)}.mon-kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--grid-gap)}.mon-mid-row{display:grid;grid-template-columns:1fr 340px;gap:var(--grid-gap)}.mon-mid-row__flow,.mon-mid-row__alerts{min-width:0}.mon-bottom-row{display:grid;grid-template-columns:1fr 260px;gap:var(--grid-gap)}.mon-bottom-row__chart,.mon-bottom-row__site{min-width:0}@media(max-width:1200px){.mon-kpi-row{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.mon-mid-row,.mon-bottom-row{grid-template-columns:1fr}}.mon-panel-grid{flex:1;display:grid;grid-template-columns:280px 1fr 320px;gap:var(--grid-gap);padding:var(--page-pad);overflow:hidden;min-height:0}.mon-panel-grid__tree{overflow:hidden;min-height:0}.mon-panel-grid__tiles{display:flex;flex-direction:column;gap:12px;overflow:hidden;min-height:0}.mon-panel-grid__inspector{overflow:hidden;min-height:0}.mon-tiles-header{display:flex;align-items:baseline;justify-content:space-between;flex-shrink:0}.mon-tiles-title{font-size:15px;font-weight:var(--sl-font-semibold);color:var(--text-main);margin:0}.mon-tiles-meta{font-size:12px;color:var(--text-muted)}.mon-tiles-body{flex:1;overflow-y:auto;padding:var(--card-pad)}.insp-inline{height:100%;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:0}.insp-inline__header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}.insp-inline__title{font-size:15px;font-weight:var(--sl-font-semibold);color:var(--text-main);margin:0 0 6px}.insp-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;text-align:center;background:var(--bg-card);border-radius:var(--r-card);box-shadow:var(--shadow-card)}.insp-empty p{font-size:13px;color:var(--text-muted);margin:0;max-width:200px}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--sl-color-bg-page, #0f1117);padding:1rem}.login-page__card{background:var(--sl-color-bg-surface, #1a1d27);border:1px solid var(--sl-color-border, #2a2d3a);border-radius:12px;padding:2.5rem;width:100%;max-width:400px;box-shadow:0 8px 32px #0000004d}.login-page__header{text-align:center;margin-bottom:2rem}.login-page__title{font-size:1.75rem;font-weight:700;color:var(--sl-color-text, #e4e4e7);margin:0}.login-page__subtitle{font-size:.875rem;color:var(--sl-color-text-muted, #71717a);margin:.5rem 0 0}.login-page__form{display:flex;flex-direction:column;gap:1.25rem}.login-page__field{display:flex;flex-direction:column;gap:.375rem}.login-page__label{font-size:.8125rem;font-weight:500;color:var(--sl-color-text-muted, #a1a1aa)}.login-page__input{padding:.625rem .75rem;border:1px solid var(--sl-color-border, #2a2d3a);border-radius:6px;background:var(--sl-color-bg-input, #12141d);color:var(--sl-color-text, #e4e4e7);font-size:.875rem;outline:none;transition:border-color .15s}.login-page__input:focus{border-color:var(--sl-color-primary, #3b82f6)}.login-page__error{color:var(--sl-color-danger, #ef4444);font-size:.8125rem;padding:.5rem .75rem;background:#ef44441a;border-radius:6px}.login-page__submit{padding:.75rem;border:none;border-radius:6px;background:var(--sl-color-primary, #3b82f6);color:#fff;font-size:.9375rem;font-weight:600;cursor:pointer;transition:background-color .15s}.login-page__submit:hover:not(:disabled){background:var(--sl-color-primary-hover, #2563eb)}.login-page__submit:disabled{opacity:.6;cursor:not-allowed}:root{--bg-main: #F3F5F7;--bg-card: #FFFFFF;--bg-sidebar: #0E1116;--primary-blue: #2F80FF;--primary-blue-soft: #EAF2FF;--green: #27AE60;--orange: #F2994A;--red: #EB5757;--gray-50: #F9FAFB;--gray-100: #F3F4F6;--gray-200: #E5E7EB;--gray-400: #9CA3AF;--gray-500: #6B7280;--gray-700: #374151;--text-main: #1C1F23;--text-secondary: #6B7280;--text-muted: #9CA3AF;--text-inverted: #FFFFFF;--r-card: 16px;--r-tile: 10px;--r-pill: 14px;--r-sm: 6px;--r-md: 8px;--shadow-card: 0 6px 20px rgba(0, 0, 0, .06);--shadow-hover: 0 10px 28px rgba(0, 0, 0, .08);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .12);--page-pad: 24px;--grid-gap: 20px;--card-pad: 16px;--card-pad-lg: 20px;--sl-nav-width: 72px;--sl-nav-bg: #0E1116;--sl-nav-active-bg: #1F2937;--sl-nav-icon: rgba(255, 255, 255, .6);--sl-nav-icon-active: #FFFFFF;--sl-nav-border: rgba(255, 255, 255, .07);--font-main: "Inter", "SF Pro Display", Roboto, system-ui, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--sl-text-xs: .6875rem;--sl-text-sm: .75rem;--sl-text-base: .875rem;--sl-text-lg: 1rem;--sl-text-xl: 1.125rem;--sl-text-2xl: 1.25rem;--sl-text-3xl: 1.375rem;--sl-font-normal: 400;--sl-font-medium: 500;--sl-font-semibold: 600;--sl-font-bold: 700;--ease-out: cubic-bezier(.2, .8, .2, 1);--sl-transition-fast: .15s cubic-bezier(.2, .8, .2, 1);--sl-transition-normal: .22s cubic-bezier(.2, .8, .2, 1);--sl-transition-slow: .32s cubic-bezier(.2, .8, .2, 1);--sl-bg-primary: var(--bg-main);--sl-bg-secondary: var(--bg-card);--sl-bg-tertiary: var(--gray-50);--sl-bg-elevated: #FFFFFF;--sl-bg-hover: #EAECEF;--sl-bg-active: #D9DCE0;--sl-accent: var(--primary-blue);--sl-accent-hover: #1A6FFF;--sl-accent-active: #0B5EEF;--sl-accent-muted: rgba(47, 128, 255, .1);--sl-accent-glow: rgba(47, 128, 255, .25);--sl-accent-secondary: var(--orange);--sl-accent-secondary-hover: #E08833;--sl-text-primary: var(--text-main);--sl-text-secondary: var(--text-secondary);--sl-text-muted: var(--text-muted);--sl-text-placeholder: var(--gray-400);--sl-success: var(--green);--sl-success-bg: rgba(39, 174, 96, .08);--sl-warning: var(--orange);--sl-warning-bg: rgba(242, 153, 74, .08);--sl-error: var(--red);--sl-error-bg: rgba(235, 87, 87, .08);--sl-info: var(--primary-blue);--sl-info-bg: rgba(47, 128, 255, .08);--sl-alarm-ok: var(--green);--sl-alarm-ok-bg: rgba(39, 174, 96, .1);--sl-alarm-warning: var(--orange);--sl-alarm-warning-bg: rgba(242, 153, 74, .1);--sl-alarm-critical: var(--red);--sl-alarm-critical-bg: rgba(235, 87, 87, .1);--sl-alarm-stale: var(--gray-500);--sl-alarm-stale-bg: rgba(107, 114, 128, .1);--sl-border: rgba(0, 0, 0, .07);--sl-border-hover: rgba(0, 0, 0, .14);--sl-border-focus: var(--primary-blue);--sl-divider: rgba(0, 0, 0, .05);--sl-shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--sl-shadow-md: var(--shadow-card);--sl-shadow-lg: var(--shadow-hover);--sl-shadow-xl: var(--shadow-lg);--sl-shadow-panel: var(--shadow-card);--sl-radius-sm: var(--r-sm);--sl-radius-md: var(--r-md);--sl-radius-lg: var(--r-card);--sl-radius-xl: var(--r-card);--sl-radius-2xl: 20px;--sl-radius-full: 9999px;--sl-font-heading: var(--font-main);--sl-font-body: var(--font-main);--sl-space-1: .25rem;--sl-space-2: .5rem;--sl-space-3: .75rem;--sl-space-4: 1rem;--sl-space-5: 1.25rem;--sl-space-6: 1.5rem;--sl-space-8: 2rem;--sl-space-10: 2.5rem;--sl-space-12: 3rem;--sl-leading-tight: 1.25;--sl-leading-normal: 1.5;--sl-leading-relaxed: 1.625;--sl-z-base: 0;--sl-z-dropdown: 100;--sl-z-sticky: 200;--sl-z-panel: 300;--sl-z-fixed: 400;--sl-z-modal-backdrop: 500;--sl-z-modal: 600;--sl-z-popover: 700;--sl-z-tooltip: 800;--sl-z-toast: 900;--sl-panel-width-sm: 280px;--sl-panel-width-md: 320px;--sl-panel-width-lg: 360px;--sl-panel-width-xl: 400px}[data-theme=dark]{--bg-main: #0B0E13;--bg-card: #161A22;--bg-sidebar: #07090D;--text-main: #E5E7EB;--text-secondary: #BDBDBD;--text-muted: #9CA3AF;--gray-50: #111520;--gray-100: #1C2130;--gray-200: #252D3D;--gray-400: #6B7280;--gray-500: #9CA3AF;--gray-700: #D1D5DB;--sl-bg-primary: var(--bg-main);--sl-bg-secondary: var(--bg-card);--sl-bg-tertiary: #1C2130;--sl-bg-elevated: #1C2130;--sl-bg-hover: #252D3D;--sl-bg-active: #2E3850;--sl-nav-bg: #07090D;--sl-nav-active-bg: #1F2937;--sl-nav-icon: rgba(255, 255, 255, .42);--sl-nav-icon-active: #FFFFFF;--sl-nav-border: rgba(255, 255, 255, .06);--sl-accent: #4D97FF;--sl-accent-hover: #2F80FF;--sl-accent-muted: rgba(47, 128, 255, .15);--sl-accent-glow: rgba(47, 128, 255, .35);--sl-text-primary: #E5E7EB;--sl-text-secondary: rgba(229, 231, 235, .72);--sl-text-muted: rgba(229, 231, 235, .45);--sl-text-placeholder: rgba(229, 231, 235, .28);--sl-success: #34C468;--sl-success-bg: rgba(52, 196, 104, .12);--sl-warning: #F2994A;--sl-warning-bg: rgba(242, 153, 74, .12);--sl-error: #F06B6B;--sl-error-bg: rgba(240, 107, 107, .12);--sl-info: #4D97FF;--sl-info-bg: rgba(77, 151, 255, .12);--sl-alarm-ok: #34C468;--sl-alarm-ok-bg: rgba(52, 196, 104, .18);--sl-alarm-warning: #F2994A;--sl-alarm-warning-bg: rgba(242, 153, 74, .18);--sl-alarm-critical: #F06B6B;--sl-alarm-critical-bg: rgba(240, 107, 107, .18);--sl-alarm-stale: #6B7280;--sl-alarm-stale-bg: rgba(107, 114, 128, .18);--sl-border: rgba(255, 255, 255, .09);--sl-border-hover: rgba(255, 255, 255, .16);--sl-divider: rgba(255, 255, 255, .06);--shadow-card: 0 6px 20px rgba(0, 0, 0, .25);--shadow-hover: 0 10px 28px rgba(0, 0, 0, .35);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .45);--sl-shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--sl-shadow-md: var(--shadow-card);--sl-shadow-lg: var(--shadow-hover);--sl-shadow-xl: var(--shadow-lg);--sl-shadow-panel: var(--shadow-card)}:root{--sl-ind-diode: #ef4444;--sl-ind-hotspot: #eab308;--sl-ind-crack: #60a5fa;--sl-ind-string-oc: #16a34a;--sl-ind-glass: #f97316;--sl-ind-pid: #2563eb;--sl-ind-open-circuit: #16a34a;--sl-ind-optical-oc: #16a34a;--sl-ind-optical-sc: #14b8a6;--sl-ind-riso-pol: #8b5cf6;--sl-ind-soiling: #92400e;--sl-ind-iv-curve: #6b7280;--sl-ind-ir-comp: #9ca3af;--sl-ind-el: #4b5563;--sl-ind-video: #374151;--sl-ind-photo: #db2777;--sl-ind-datapoint: #0d9488;--sl-ind-unknown: #9e9e9e}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-main);font-size:var(--sl-text-base);font-weight:var(--sl-font-normal);line-height:var(--sl-leading-normal);color:var(--text-main);background-color:var(--bg-main);min-height:100vh;overflow:hidden}#root{width:100vw;height:100vh;overflow:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-main);font-weight:var(--sl-font-semibold);line-height:var(--sl-leading-tight);color:var(--text-main);letter-spacing:-.01em}h1{font-size:var(--sl-text-3xl)}h2{font-size:var(--sl-text-2xl)}h3{font-size:var(--sl-text-xl)}h4{font-size:var(--sl-text-lg)}h5{font-size:var(--sl-text-base)}h6{font-size:var(--sl-text-sm)}p{margin-bottom:var(--sl-space-4)}a{color:var(--primary-blue);text-decoration:none;transition:color var(--sl-transition-fast)}a:hover{color:var(--sl-accent-hover)}.card{background:var(--bg-card);border-radius:var(--r-card);box-shadow:var(--shadow-card);padding:var(--card-pad);transition:transform .15s var(--ease-out),box-shadow .15s var(--ease-out)}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}.card:active{transform:scale(.98);transition-duration:80ms}.card-lg{padding:var(--card-pad-lg)}.tabular{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}input,textarea,select,button{font-family:inherit;font-size:inherit;line-height:inherit}input,textarea,select{background-color:var(--gray-50);border:1px solid var(--sl-border);border-radius:var(--r-md);color:var(--text-main);padding:var(--sl-space-2) var(--sl-space-3);transition:border-color var(--sl-transition-fast),box-shadow var(--sl-transition-fast)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 2px #2f80ff2e}input::placeholder,textarea::placeholder{color:var(--text-muted)}input:disabled,textarea:disabled,select:disabled{opacity:.5;cursor:not-allowed}button{cursor:pointer;border:none;background:none;padding:0;color:inherit;font-family:var(--font-main)}button:disabled{cursor:not-allowed;opacity:.5}*:focus-visible{outline:2px solid var(--primary-blue);outline-offset:2px}.skeleton{background:linear-gradient(90deg,var(--gray-100) 25%,var(--gray-200) 50%,var(--gray-100) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite;border-radius:var(--r-md)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#00000024;border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:#0000003d}*{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.14) transparent}[data-theme=dark] ::-webkit-scrollbar-thumb{background:#ffffff24}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#ffffff3d}[data-theme=dark] *{scrollbar-color:rgba(255,255,255,.14) transparent}.coming-soon{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;text-align:center;gap:var(--sl-space-4)}.coming-soon h1{color:var(--primary-blue)}.coming-soon p{color:var(--text-secondary);margin-bottom:0}.coming-soon a{padding:var(--sl-space-3) var(--sl-space-6);background:var(--primary-blue);color:#fff;border-radius:var(--r-md);font-weight:var(--sl-font-medium)}.coming-soon a:hover{background:var(--sl-accent-hover);color:#fff}.mapboxgl-ctrl-logo,.mapboxgl-ctrl-attrib{display:none!important}.mapboxgl-ctrl-bottom-right{right:340px;bottom:40px;transition:right .2s ease}.editor-map--right-collapsed .mapboxgl-ctrl-bottom-right{right:12px}.mapboxgl-popup-content{background:var(--bg-card);border-radius:var(--r-card);box-shadow:var(--shadow-card);padding:var(--sl-space-4);color:var(--text-main);border:none}.mapboxgl-popup-tip{border-top-color:var(--bg-card)}.mapboxgl-popup-close-button{color:var(--text-secondary);font-size:20px;padding:var(--sl-space-2)}.mapboxgl-popup-close-button:hover{color:var(--text-main);background:transparent}
