@import"https://fonts.googleapis.com/css2?family=Lato:wght@400;500;700&family=Montserrat:wght@500;600;700&display=swap";.header-container{display:flex;justify-content:space-between;align-items:center;gap:12px;height:var(--header-h, 50px);position:fixed;top:0;left:0;right:0;z-index:1001;padding:0 24px 0 8px;background:var(--bg);color:var(--text);border-bottom:1px solid var(--border);box-shadow:var(--elev-1)}.header-left{display:flex;flex:1 1 auto;align-items:center;gap:6px;min-width:0}.header-user{display:flex;flex:0 0 auto;align-items:center;gap:12px}.header-icon-btn,.sidebar-toggle-btn,.header-user-btn{width:40px;height:40px;border-radius:999px;display:inline-grid;place-items:center;border:1px solid var(--border);background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 82%,transparent),color-mix(in srgb,var(--surface-2) 60%,transparent));color:var(--text);box-shadow:0 10px 22px #0000002e,inset 0 1px color-mix(in srgb,var(--text) 10%,transparent);cursor:pointer;padding:0;line-height:0;transition:transform var(--dur-2) var(--ease),background var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease),box-shadow var(--dur-2) var(--ease),color var(--dur-2) var(--ease)}.header-icon-btn:hover,.sidebar-toggle-btn:hover,.header-user-btn:hover{border-color:color-mix(in srgb,var(--border) 65%,var(--primary-color) 35%);background:linear-gradient(180deg,color-mix(in srgb,var(--surface-2) 85%,transparent),color-mix(in srgb,var(--surface) 70%,transparent))}.header-user-btn.is-active{border-color:color-mix(in srgb,var(--primary-color) 58%,var(--border));background:linear-gradient(180deg,color-mix(in srgb,var(--primary-color) 22%,transparent),color-mix(in srgb,var(--surface-2) 68%,transparent));color:var(--primary-color)}.header-icon-btn:active,.sidebar-toggle-btn:active,.header-user-btn:active{transform:scale(.97)}.header-icon-btn:focus-visible,.sidebar-toggle-btn:focus-visible,.header-user-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--primary-color) 85%,transparent);outline-offset:2px}.hamburger-icon,.header-avatar-icon{width:18px;height:18px}.header-logo-btn{flex:0 0 auto;background:transparent;border:0;padding:0 4px;margin-left:2px;cursor:pointer;display:flex;align-items:center;justify-content:flex-start;min-width:auto;height:40px}.header-logo-image{height:28px;width:auto;display:block;object-fit:contain}.header-page-title{flex:1 1 auto;min-width:0;margin:0 0 0 14px;overflow:hidden;color:var(--text);font-family:var(--font-heading);font-size:1.35rem;font-weight:800;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}@media(max-width:768px){.header-container{padding:0 14px 0 8px}.header-logo-btn{padding:0 2px}.header-logo-image{height:24px}.header-page-title{margin-left:8px;font-size:1.05rem;max-width:42vw}}@media(max-width:480px){.header-icon-btn,.sidebar-toggle-btn,.header-user-btn{width:42px;height:42px}.hamburger-icon,.header-avatar-icon{width:19px;height:19px}.header-page-title{font-size:.95rem;max-width:34vw}}.sidebar{position:fixed;top:var(--header-h, 50px);left:0;width:var(--sidebar-open-w, 220px);height:calc(100% - var(--header-h, 50px));background-color:var(--bg);color:var(--text);padding:20px 0;box-shadow:2px 0 12px #0000002e;transition:width .3s ease,left .3s ease;z-index:1000;overflow-y:auto;overflow-x:hidden;border-right:1px solid var(--border)}.sidebar.collapsed{width:var(--sidebar-collapsed-w, 50px)}.sidebar ul{list-style:none;padding:0;margin:0}.sidebar>ul>li{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-radius:8px;transition:background var(--dur-2) var(--ease),color var(--dur-2) var(--ease);cursor:default;color:var(--text)}.sidebar>ul>li:not(.active):hover{background-color:color-mix(in srgb,var(--primary-color) 14%,transparent);color:var(--primary-color)}.sidebar .clickable{cursor:pointer}.sidebar>ul>li.active{background:linear-gradient(160deg,color-mix(in srgb,var(--primary-color) 90%,#a0e8b0 10%),color-mix(in srgb,var(--primary-color-dark) 94%,#0a122f 6%));border:1px solid color-mix(in srgb,var(--primary-color) 78%,#d8e1ff 22%);box-shadow:inset 0 1px color-mix(in srgb,#ffffff 18%,transparent),0 10px 22px color-mix(in srgb,var(--primary-color) 34%,transparent);color:#fff;font-weight:700}.sidebar>ul>li.active .sidebar-icon,.sidebar>ul>li.active .sidebar-text{color:#fff}.sidebar-text{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px;transition:opacity var(--dur-2) var(--ease),width var(--dur-2) var(--ease);color:inherit}.sidebar-motion-label{display:inline-flex;align-items:center;transform-origin:left center;will-change:transform}.sidebar.collapsed .sidebar-text{opacity:0;width:0}.sidebar-icon{width:18px;height:18px;flex-shrink:0;color:var(--text);transition:color var(--dur-2) var(--ease)}.sidebar-motion-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:999px;transform-origin:center center;will-change:transform}.sidebar-motion-icon.is-collapsed{width:34px;height:34px}.sidebar-motion-orb{display:none!important}.sidebar-motion-glyph{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;transform:translateZ(0);backface-visibility:hidden;-webkit-font-smoothing:antialiased}.sidebar>ul>li:not(.active):hover .sidebar-icon{color:var(--primary-color)}.sidebar.collapsed>ul>li{justify-content:center;padding:12px 10px}.sidebar-overlay{position:fixed;inset:0;background:#0000006b;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:999}.sidebar-overlay.active{opacity:1;pointer-events:auto}@media(max-width:768px){.sidebar{left:calc(-1 * var(--sidebar-mobile-w, 240px));width:var(--sidebar-mobile-w, 240px);transition:left .3s ease}.sidebar.open{left:0}.sidebar.collapsed{width:var(--sidebar-mobile-w, 240px)}.sidebar.collapsed .sidebar-text,.sidebar-text{opacity:1;width:auto}.sidebar.collapsed>ul>li,.sidebar>ul>li{justify-content:space-between;padding:12px 20px;gap:12px}.sidebar-text{flex:1;min-width:0;max-width:none}.sidebar-motion-icon{margin-left:auto;flex-shrink:0}}@media(min-width:769px){.sidebar-overlay{display:none}}.user-overlay{position:fixed;inset:0;background:var(--modal-backdrop, rgba(0, 0, 0, .55));backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);z-index:1001;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--dur-3) var(--ease),visibility var(--dur-3) var(--ease)}.user-overlay.is-open{opacity:1;visibility:visible;pointer-events:auto}.user-sidebar{position:fixed;top:0;right:0;height:100vh;width:360px;max-width:90vw;z-index:1002;overflow:hidden;isolation:isolate;border-top-left-radius:22px;border-bottom-left-radius:22px;background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none;border-left:1px solid var(--border);box-shadow:none;transform:translate(calc(100% + 70px));transition:transform .4s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;color:var(--text)}.user-sidebar.is-open{transform:translate(0)}.user-sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--glass-border);background:transparent}.user-sidebar-header h2{margin:0;font-size:1.4rem;font-weight:800;letter-spacing:.3px;color:var(--text)}.close-btn{background:var(--surface);border:1px solid var(--border);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text);transition:background var(--dur-3) var(--ease),border-color var(--dur-3) var(--ease),color var(--dur-3) var(--ease),transform var(--dur-3) var(--ease)}.close-btn:hover{background:color-mix(in srgb,var(--error-color) 18%,var(--surface-2));border-color:color-mix(in srgb,var(--error-color) 45%,var(--border));color:var(--error-color);transform:rotate(90deg)}.user-sidebar-content{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:24px}.user-sidebar-content::-webkit-scrollbar{width:6px}.user-sidebar-content::-webkit-scrollbar-track{background:var(--scroll-track)}.user-sidebar-content::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--primary-color) 30%,transparent);border-radius:10px}.user-sidebar-content::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--primary-color) 55%,transparent)}.user-avatar{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px 0}.user-avatar img,.default-avatar{width:110px;height:110px;border-radius:50%;border:4px solid color-mix(in srgb,var(--primary-color) 32%,transparent);object-fit:cover;object-position:center center;background:var(--surface);font-size:50px;color:var(--primary-color);box-shadow:0 8px 30px color-mix(in srgb,var(--primary-color) 28%,transparent);transition:transform var(--dur-3) var(--ease),border-color var(--dur-3) var(--ease),box-shadow var(--dur-3) var(--ease)}.user-avatar img{display:block;overflow:hidden;transform:translateZ(0);image-rendering:auto}.default-avatar{display:flex;justify-content:center;align-items:center}.user-avatar img:hover,.default-avatar:hover{transform:scale(1.05);border-color:var(--primary-color);box-shadow:0 12px 40px color-mix(in srgb,var(--primary-color) 45%,transparent)}.user-info{display:flex;flex-direction:column;gap:14px;padding:20px;border-radius:12px;background:var(--surface);border:1px solid var(--border);box-shadow:inset 0 1px 2px #00000014}.user-info p{margin:0;font-size:14px;color:var(--text-muted);display:flex;align-items:center;gap:8px;line-height:1.5}.user-info strong{color:var(--primary-color);font-weight:700;min-width:60px}.user-action-btn{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 18px;background:var(--surface);border:1px solid var(--border);border-radius:10px;color:var(--text);cursor:pointer;font-size:14px;font-weight:600;transition:background var(--dur-3) var(--ease),border-color var(--dur-3) var(--ease),transform var(--dur-3) var(--ease),box-shadow var(--dur-3) var(--ease);width:100%;position:relative;overflow:hidden;min-height:52px;white-space:nowrap;line-height:1}.user-action-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--primary-color) 14%,transparent),transparent);transition:left .5s ease}.user-action-btn:hover:before{left:100%}.user-action-btn:hover{background:color-mix(in srgb,var(--primary-color) 10%,var(--surface-2));border-color:color-mix(in srgb,var(--primary-color) 35%,var(--border));transform:translate(6px);box-shadow:0 4px 12px color-mix(in srgb,var(--primary-color) 20%,transparent)}.user-action-icon{display:inline-flex;flex:0 0 auto;color:var(--primary-color);font-size:18px;opacity:1}.user-logout-wrapper{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:20px;border-top:1px solid var(--border)}.user-logout-wrapper>.user-action-btn,.user-logout-wrapper>.user-logout-btn{flex:1 1 0;width:auto;min-width:0}.user-logout-btn{width:100%;padding:14px;min-height:52px;border-radius:10px;cursor:pointer;font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center;gap:10px;white-space:nowrap;line-height:1;background:color-mix(in srgb,var(--error-color) 12%,transparent);border:1px solid color-mix(in srgb,var(--error-color) 32%,var(--border));color:var(--error-color);position:relative;overflow:hidden;transition:background var(--dur-3) var(--ease),border-color var(--dur-3) var(--ease),transform var(--dur-3) var(--ease),box-shadow var(--dur-3) var(--ease),color var(--dur-3) var(--ease)}.user-logout-btn svg{display:inline-flex;flex:0 0 auto;font-size:18px}.user-logout-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--error-color) 22%,transparent),transparent);transition:left .5s ease}.user-logout-btn:hover:before{left:100%}.user-logout-btn:hover{background:color-mix(in srgb,var(--error-color) 18%,transparent);border-color:var(--error-color);transform:translateY(-2px);box-shadow:0 4px 15px color-mix(in srgb,var(--error-color) 32%,transparent);color:#fff}.user-logout-btn:active{transform:translateY(0)}@media(max-width:768px){.user-sidebar{width:100%;max-width:90vw}.user-sidebar-header,.user-sidebar-content{padding:20px}.user-avatar img,.default-avatar{width:90px;height:90px;font-size:40px}}@media(max-width:480px){.user-sidebar{width:100%;max-width:100vw}.user-sidebar-content{padding:18px 16px max(20px,env(safe-area-inset-bottom));gap:18px}.user-sidebar-header h2{font-size:1.2rem}.close-btn{width:42px;height:42px}.user-info{padding:16px}.user-info p{font-size:13px}.user-logout-wrapper{margin-top:0;flex-direction:column;align-items:stretch;gap:10px}.user-logout-wrapper>.user-action-btn,.user-logout-wrapper>.user-logout-btn{flex:0 0 auto}.user-action-btn,.user-logout-btn{font-size:13px;padding:12px;width:100%;justify-content:center;white-space:normal;line-height:1.2}}.main-content{--pad: 20px;--pad-left: 12px;--sidebar-collapsed: var(--sidebar-collapsed-w, 50px);position:relative;padding:var(--pad);padding-left:var(--pad-left);padding-top:var(--pad);background-color:var(--bg);min-height:calc(100dvh - var(--header-h, 50px));height:calc(100dvh - var(--header-h, 50px));box-sizing:border-box;min-width:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;margin-top:var(--header-h, 50px);margin-left:var(--sidebar-collapsed)}.main-content.is-route-loading{overflow:hidden}.main-layout-route-loader{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;background:radial-gradient(circle at top,color-mix(in srgb,var(--primary-color) 14%,transparent),transparent 36%),linear-gradient(180deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 82%,#000 18%) 100%)}.main-layout-route-loader .screen-loader{width:100%;height:100%;min-height:100dvh;background:transparent}html.has-floating-crud-island-space .main-content,html.has-floating-crud-island-space .main-content.shifted,body.has-floating-crud-island-space .main-content{padding-bottom:calc(var(--pad) + var(--crud-dock-safe-space, 126px));scroll-padding-bottom:calc(var(--pad) + var(--crud-dock-safe-space, 126px))}.page-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--elev-1);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}.page-card h3{margin:0 0 8px;color:var(--text);font-family:var(--font-heading)}.page-card p{margin:0;color:var(--text-muted)}@media(max-width:768px){.main-content,.main-content.shifted{--pad: 15px;--pad-left: 15px;margin-left:0;padding:var(--pad);padding-top:var(--pad);min-height:calc(100dvh - var(--header-h, 50px));height:calc(100dvh - var(--header-h, 50px));overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}}@media(max-width:480px){.main-content,.main-content.shifted{--pad: 10px;--pad-left: 10px}}.device-identity-chip{display:inline-grid;grid-template-columns:1fr;gap:8px;min-width:240px;max-width:min(100%,420px);border-radius:12px;border:1px solid color-mix(in srgb,var(--border) 72%,transparent);background:linear-gradient(160deg,color-mix(in srgb,var(--surface-2) 82%,transparent),color-mix(in srgb,var(--surface-2) 58%,var(--bg)));box-shadow:inset 0 1px color-mix(in srgb,white 6%,transparent),0 4px 14px color-mix(in srgb,#000 22%,transparent);color:var(--text);padding:8px 10px;line-height:1.3;white-space:normal;word-break:break-word}.device-identity-chip--name-only{min-width:0;max-width:100%;padding:0;gap:0;border:0;border-radius:0;background:transparent;box-shadow:none}.device-identity-chip--button{cursor:pointer;text-align:left;width:100%;font:inherit;appearance:none}.device-identity-chip--name-only.device-identity-chip--button{width:auto;border-radius:8px;padding:2px 4px;transition:background var(--dur-2) var(--ease),color var(--dur-2) var(--ease)}.device-identity-chip--button:hover{border-color:color-mix(in srgb,var(--primary-color) 44%,var(--border));box-shadow:inset 0 1px color-mix(in srgb,white 8%,transparent),0 7px 18px color-mix(in srgb,var(--primary-color) 18%,transparent);transform:translateY(-1px)}.device-identity-chip--button:focus-visible{outline:2px solid color-mix(in srgb,var(--primary-color) 52%,transparent);outline-offset:2px}.device-identity-chip--name-only.device-identity-chip--button:hover{transform:none;border-color:transparent;box-shadow:none;background:color-mix(in srgb,var(--primary-color) 12%,transparent);color:color-mix(in srgb,var(--text) 84%,var(--primary-color))}.device-identity-chip--name-only.device-identity-chip--button:hover .device-identity-chip__name{text-decoration:underline;text-underline-offset:2px}.device-identity-chip__header{display:flex;align-items:center;gap:8px}.device-identity-chip--name-only .device-identity-chip__header{gap:6px}.device-identity-chip__icon{width:20px;height:20px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--primary-color) 22%,transparent);color:color-mix(in srgb,var(--text) 90%,var(--primary-color));font-size:.64rem;flex-shrink:0}.device-identity-chip--name-only .device-identity-chip__icon{width:14px;height:14px;background:transparent;color:color-mix(in srgb,var(--text-muted) 88%,var(--text));font-size:.58rem}.device-identity-chip__name{font-size:.78rem;font-weight:700;letter-spacing:.015em;line-height:1.2}.device-identity-chip--name-only .device-identity-chip__name{font-size:.8rem;font-weight:600;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.device-identity-chip__meta{display:grid;grid-template-columns:1fr;gap:4px;font-size:.73rem;color:color-mix(in srgb,var(--text) 84%,var(--text-muted))}.device-identity-chip__item{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;min-width:0;white-space:nowrap}.device-identity-chip__label{display:inline-flex;align-items:center;justify-content:center;min-width:38px;border-radius:999px;border:1px solid color-mix(in srgb,var(--border) 78%,transparent);background:color-mix(in srgb,var(--surface-2) 65%,transparent);padding:2px 8px;font-size:.66rem;font-weight:700;color:color-mix(in srgb,var(--text) 88%,white);letter-spacing:.04em}.device-identity-chip__value{min-width:0;font-size:.72rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;color:color-mix(in srgb,var(--text) 90%,white);white-space:normal;overflow-wrap:anywhere;background:transparent}@media(max-width:720px){.device-identity-chip{min-width:0;width:100%}}@media(max-width:920px)and (min-width:721px){.device-identity-chip{min-width:180px;max-width:320px}}.filter-sidebar-overlay{position:fixed;inset:0;background:#0000006b;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:1450;will-change:opacity;contain:paint}.filter-sidebar{position:fixed;top:0;right:0;bottom:0;z-index:1500;display:grid;grid-template-rows:auto 1fr auto;border-left:1px solid var(--border);background:color-mix(in srgb,var(--bg) 88%,var(--surface) 12%);box-shadow:-16px 0 34px #00000047,inset 1px 0 color-mix(in srgb,var(--text) 8%,transparent);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-sat));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-sat));will-change:transform,opacity;overflow:visible;isolation:isolate}.filter-sidebar__header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:max(16px,env(safe-area-inset-top)) 16px 14px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 92%,var(--surface) 8%);position:relative;z-index:1}.filter-sidebar__header h3{margin:0;color:var(--text);font-family:var(--font-heading);font-size:1rem}.filter-sidebar__icon-btn{width:36px;height:36px;border-radius:10px;border:1px solid var(--input-border);background:var(--input-bg);color:var(--text-soft);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color var(--dur-2) var(--ease),color var(--dur-2) var(--ease),transform var(--dur-2) var(--ease)}.filter-sidebar__icon-btn:hover{color:var(--primary-color);border-color:color-mix(in srgb,var(--primary-color) 40%,var(--input-border));transform:translateY(-1px)}.filter-sidebar__body{padding:14px 16px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;min-height:0}.filter-sidebar__footer{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;padding:12px 16px max(16px,env(safe-area-inset-bottom));border-top:1px solid var(--border);background:color-mix(in srgb,var(--bg) 92%,var(--surface) 8%);position:relative;z-index:1}.filter-sidebar__btn{height:40px;min-width:124px;border-radius:12px;border:1px solid var(--border);padding:0 14px;font-family:var(--font-heading);font-size:.86rem;font-weight:700;cursor:pointer;transition:transform var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease)}.filter-sidebar__btn:hover{transform:translateY(-1px)}.filter-sidebar__btn--ghost{background:var(--input-bg);color:var(--text)}.filter-sidebar__btn--ghost:hover{border-color:color-mix(in srgb,var(--primary-color) 32%,var(--border))}.filter-sidebar__btn--primary{border-color:color-mix(in srgb,var(--primary-color) 72%,transparent);color:var(--text-on-primary);background:linear-gradient(160deg,color-mix(in srgb,var(--primary-color) 92%,#a0e8b0 8%),color-mix(in srgb,var(--primary-color-dark) 94%,#0a122f 6%))}@media(max-width:560px){.filter-sidebar{max-width:100vw!important}.filter-sidebar__header{padding-right:14px}.filter-sidebar__icon-btn{width:42px;height:42px;border-radius:12px}.filter-sidebar__body{padding-inline:14px}.filter-sidebar__footer{justify-content:stretch}.filter-sidebar__btn{width:100%}}.base-table-wrap{--base-table-min-width: 800px;width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;background:color-mix(in srgb,var(--surface) 92%,var(--bg));border:1px solid color-mix(in srgb,var(--border) 82%,transparent);border-radius:14px;padding:0 2px}.base-table{width:100%;min-width:var(--base-table-min-width);border-collapse:collapse;text-align:left}.base-table th,.base-table td{padding:16px 20px;vertical-align:middle;border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent);word-break:break-word}.base-table th{font-family:var(--font-heading);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:color-mix(in srgb,var(--surface-2) 18%,transparent);border-bottom:2px solid var(--border);white-space:nowrap}.base-table th:first-child{border-top-left-radius:12px}.base-table th:last-child{border-top-right-radius:12px}.base-table__row{transition:background var(--dur-2) var(--ease);cursor:default}.base-table__row:hover{background:color-mix(in srgb,var(--primary-color) 7%,var(--surface-2))}.base-table__row.clickable,.base-table__row[tabindex]{cursor:pointer}.base-table__row.clickable:focus-visible,.base-table__row[tabindex]:focus-visible{background:color-mix(in srgb,var(--primary-color) 7%,var(--surface-2));outline:none}.base-table__empty{text-align:center;padding:20px 16px;color:var(--text-muted);font-size:.9rem}.base-table__loading-placeholder{height:220px;padding:0}.base-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 8px 4px;border-top:1px solid color-mix(in srgb,var(--border) 70%,transparent);margin-top:10px}.base-pagination__summary{color:var(--text-soft);font-size:.86rem}.base-pagination__controls{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.base-pagination__size{display:inline-flex;align-items:center;gap:6px}.base-pagination__size label{font-family:var(--font-heading);color:var(--text-muted);font-size:.82rem;margin-right:2px}.base-pagination__size select{min-height:34px;border-radius:8px;border:1px solid color-mix(in srgb,var(--border) 88%,transparent);background:color-mix(in srgb,var(--surface-2) 78%,transparent);color:var(--text);padding:0 9px;font:inherit}.base-pagination__nav-group{display:inline-flex;align-items:center;gap:6px;min-width:0}.base-pagination__nav{width:34px;height:34px;border-radius:8px;border:1px solid color-mix(in srgb,var(--border) 88%,transparent);background:color-mix(in srgb,var(--surface-2) 78%,transparent);color:var(--text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease),color var(--dur-2) var(--ease)}.base-pagination__nav svg{width:14px;height:14px;flex:0 0 auto}.base-pagination__nav:hover:not(:disabled){border-color:color-mix(in srgb,var(--primary-color) 42%,var(--border));background:color-mix(in srgb,var(--primary-color) 14%,transparent)}.base-pagination__nav:disabled{opacity:.5;cursor:not-allowed}.base-pagination__pages{display:inline-flex;align-items:center;gap:4px}.base-pagination__page{min-width:34px;height:34px;border-radius:8px;border:1px solid color-mix(in srgb,var(--border) 88%,transparent);background:color-mix(in srgb,var(--surface-2) 78%,transparent);color:var(--text);font-family:var(--font-heading);font-size:.82rem;font-weight:600;cursor:pointer;padding:0 8px;transition:background var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease),color var(--dur-2) var(--ease)}.base-pagination__page:hover:not(:disabled){border-color:color-mix(in srgb,var(--primary-color) 42%,var(--border))}.base-pagination__page.is-active{border-color:color-mix(in srgb,var(--primary-color) 56%,var(--border));background:linear-gradient(165deg,color-mix(in srgb,var(--primary-color) 24%,var(--surface)),color-mix(in srgb,var(--primary-color) 14%,var(--surface-2)));color:color-mix(in srgb,var(--text) 88%,var(--primary-color))}.base-pagination__page:disabled{opacity:.5;cursor:not-allowed}.base-pagination__dots{min-width:18px;text-align:center;font-family:var(--font-heading);color:var(--text-muted)}@media(max-width:1200px){.base-table-wrap{--base-table-min-width: 720px}.base-table th,.base-table td{padding:14px}}@media(max-width:920px){.base-table-wrap{--base-table-min-width: 620px}.base-table th{font-size:.76rem;letter-spacing:.04em}.base-table td{font-size:.88rem}}@media(max-width:640px){.base-table-wrap{--base-table-min-width: 520px}.base-table th,.base-table td{padding:12px 10px}.base-pagination{gap:8px;padding-inline:4px}.base-pagination__controls{width:100%;justify-content:space-between;gap:8px}.base-pagination__nav-group{flex:1 1 280px;justify-content:flex-end}.base-pagination__pages{flex:1;min-width:0;justify-content:center;overflow-x:auto;padding-bottom:2px}.base-pagination__summary{order:2;width:100%;font-size:.8rem}}@media(max-width:560px){.base-pagination{gap:10px}.base-pagination__summary{font-size:.76rem;line-height:1.35}.base-pagination__controls{gap:8px}.base-pagination__size label{font-size:.76rem}.base-pagination__size select{min-width:54px;padding-inline:6px}.base-pagination__nav-group{gap:4px}.base-pagination__nav{width:40px;height:40px;border-radius:10px;flex:0 0 40px}.base-pagination__nav svg{width:16px;height:16px}.base-pagination__pages{min-width:0;max-width:calc(100vw - 140px);justify-content:center}}.device-status-history-page{display:grid;gap:16px;min-width:0;animation:fadeIn .32s ease-out}.device-status-history-page__header,.device-status-history-page__title-row{display:flex;align-items:flex-start;gap:14px;min-width:0}.device-status-history-page__header{justify-content:space-between}.device-status-history-page__back-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--primary-color) 34%,var(--border));background:color-mix(in srgb,var(--surface) 92%,transparent);color:var(--text);cursor:pointer;transition:transform var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease)}.device-status-history-page__back-btn{width:38px;height:38px;flex:0 0 auto;border-radius:999px}.device-status-history-page__back-btn:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--primary-color) 58%,var(--border))}.device-status-history-page__title{margin:0;color:var(--text);font-family:var(--font-heading);letter-spacing:.01em}.device-status-history-page__subtitle{margin:4px 0 0;color:var(--text-muted);font-size:.92rem}.device-status-history-page__error{margin:0;color:var(--error-color);font-weight:700}.device-status-history-filters{display:grid;gap:14px}.device-status-history-filters label{display:grid;gap:6px}.device-status-history-filters span{color:var(--text-muted);font-family:var(--font-heading);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.device-status-history-filters input,.device-status-history-filters select{min-height:40px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:0 10px}.device-status-history-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;min-width:0}.device-status-history-kpi{display:grid;gap:6px;min-width:0;border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--kpi-color) 28%,var(--border));background:linear-gradient(150deg,color-mix(in srgb,var(--kpi-color) 12%,var(--surface)),color-mix(in srgb,var(--surface) 98%,transparent));padding:14px}.device-status-history-kpi span{color:var(--text-muted);font-size:.8rem;font-family:var(--font-heading);font-weight:700}.device-status-history-kpi strong{color:var(--text);font-family:var(--font-heading);font-size:1.6rem;line-height:1}.device-status-history-kpi small{color:var(--text-soft);font-size:.72rem;font-weight:700;overflow-wrap:anywhere}.device-status-history-kpi--total{--kpi-color: #3f78d5}.device-status-history-kpi--online,.device-status-history-kpi--status-online{--kpi-color: #18b968}.device-status-history-kpi--offline,.device-status-history-kpi--status-offline{--kpi-color: #e14c4c}.device-status-history-kpi--status-unknown{--kpi-color: #8f99a6}.device-status-history-table-section{display:grid;gap:10px;min-width:0}.device-status-history-table-section__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}.device-status-history-table-section__header h2{margin:0;color:var(--text);font-family:var(--font-heading);font-size:1rem}.device-status-history-table-section__header span{color:var(--text-muted);font-size:.82rem;font-weight:700}.device-status-history-table-section .device-status-history-cycle-row--even{background:color-mix(in srgb,var(--surface) 92%,#8f99a6 8%)}.device-status-history-table-section .device-status-history-cycle-row--odd{background:color-mix(in srgb,var(--surface-2) 88%,#8f99a6 12%)}.device-status-history-table-section .base-table__row:hover{background:color-mix(in srgb,var(--primary-color) 10%,var(--surface))}.device-status-history-type,.device-status-history-event,.device-status-history-cycle{display:inline-flex;align-items:center;gap:6px;min-height:26px;border-radius:999px;border:1px solid color-mix(in srgb,var(--tone-color) 42%,transparent);background:color-mix(in srgb,var(--tone-color) 13%,transparent);color:var(--tone-color);font-family:var(--font-heading);font-size:.75rem;font-weight:800;padding:3px 9px;white-space:nowrap}.device-status-history-type--online,.device-status-history-event--online{--tone-color: #18b968}.device-status-history-type--offline,.device-status-history-event--offline{--tone-color: #e14c4c}.device-status-history-cycle--online{--tone-color: #18b968}.device-status-history-cycle--offline{--tone-color: #e14c4c}.device-status-history-cycle--unknown{--tone-color: #8f99a6}.device-status-history-cycle{justify-content:flex-start;max-width:260px;white-space:normal;line-height:1.25}.col-device-status-date{width:160px}.col-device-status-device{min-width:190px}.col-device-status-cycle{min-width:220px}.col-device-status-subdevice{min-width:160px}.col-device-status-type{width:90px}.col-device-status-event{width:160px}.col-device-status-description{min-width:220px}.device-status-history-empty{display:grid;justify-items:center;gap:8px;min-width:0;border-radius:var(--radius-md);border:1px dashed color-mix(in srgb,var(--border) 88%,transparent);background:color-mix(in srgb,var(--surface) 86%,transparent);padding:28px 16px;text-align:center}.device-status-history-empty svg{color:var(--text-soft);font-size:1.6rem}.device-status-history-empty h2,.device-status-history-empty p{margin:0}.device-status-history-empty h2{color:var(--text);font-size:1rem}.device-status-history-empty p{color:var(--text-muted);font-size:.88rem}@media(max-width:768px){.device-status-history-page__header{display:grid;gap:12px}.device-status-history-page__title-row{align-items:center}.device-status-history-page__title-row>div{min-width:0}.device-status-history-page__title{font-size:1.25rem;line-height:1.15}.device-status-history-page__subtitle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-status-history-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.device-status-history-table-section__header{display:grid}}@media(max-width:720px){.device-status-history-page{gap:14px}.device-status-history-kpis{gap:8px}.device-status-history-kpi{padding:12px}.device-status-history-kpi strong{font-size:1.28rem}.device-status-history-table-section .base-table-wrap{--base-table-min-width: 0;overflow:visible;border:0;background:transparent;padding:0}.device-status-history-table-section .base-table{display:block;min-width:0}.device-status-history-table-section .base-table thead{display:none}.device-status-history-table-section .base-table tbody{display:grid;gap:10px}.device-status-history-table-section .base-table tr{display:grid;gap:0;border:1px solid color-mix(in srgb,var(--border) 76%,transparent);border-radius:12px;background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:0 8px 22px color-mix(in srgb,#000 14%,transparent);overflow:hidden}.device-status-history-table-section .base-table tr.base-table__row:hover{background:color-mix(in srgb,var(--surface) 92%,transparent)}.device-status-history-table-section .base-table td{display:grid;grid-template-columns:minmax(88px,.34fr) minmax(0,1fr);align-items:start;gap:10px;min-width:0;width:100%;padding:10px 12px;border-bottom:1px solid color-mix(in srgb,var(--border) 56%,transparent);font-size:.86rem}.device-status-history-table-section .base-table td:last-child{border-bottom:0}.device-status-history-table-section .base-table td:before{content:attr(data-label);color:var(--text-muted);font-family:var(--font-heading);font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.device-status-history-table-section .base-table__empty{display:block;border-radius:12px;border:1px dashed var(--border);padding:18px 12px}.device-status-history-table-section .base-table__empty:before{content:none}.device-status-history-table-section .device-identity-chip{justify-self:stretch;min-width:0;width:100%}.device-status-history-type,.device-status-history-event,.device-status-history-cycle{justify-self:start;max-width:100%}.device-status-history-cycle{white-space:normal}}@media(max-width:520px){.device-status-history-kpis{grid-template-columns:1fr}.device-status-history-kpi{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 10px}.device-status-history-kpi small{grid-column:1 / -1}.device-status-history-table-section .base-table td{grid-template-columns:1fr;gap:5px}}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.operational-ticker{--ticker-speed: 38s;--ticker-bg: color-mix(in srgb, var(--surface) 94%, var(--surface-2) 6%);position:relative;min-width:0;margin:0 0 14px;overflow:hidden;border:1px solid color-mix(in srgb,var(--border) 88%,transparent);border-radius:8px;background:linear-gradient(90deg,color-mix(in srgb,var(--bg) 42%,transparent),transparent 10%,transparent 90%,color-mix(in srgb,var(--bg) 42%,transparent)),var(--ticker-bg);box-shadow:inset 0 1px color-mix(in srgb,#ffffff 18%,transparent),0 8px 18px color-mix(in srgb,#000 8%,transparent)}.operational-ticker:before{content:"";position:absolute;inset:0 auto 0 0;z-index:2;width:3px;background:var(--primary-color);opacity:.82}.operational-ticker__rail{overflow:hidden;min-width:0}.operational-ticker__track{display:flex;align-items:center;width:max-content;min-height:44px;animation:operational-ticker-scroll var(--ticker-speed) linear infinite}.operational-ticker:hover .operational-ticker__track,.operational-ticker:focus-within .operational-ticker__track{animation-play-state:paused}.operational-ticker__item{--ticker-tone: var(--primary-color);display:inline-flex;align-items:center;gap:9px;min-height:44px;max-width:600px;border:0;border-right:1px solid color-mix(in srgb,var(--border) 82%,transparent);background:transparent;color:var(--text);font:inherit;font-size:.8rem;font-weight:750;letter-spacing:0;padding:0 20px;text-align:left;white-space:nowrap}button.operational-ticker__item{cursor:pointer}button.operational-ticker__item:hover{background:color-mix(in srgb,var(--ticker-tone) 7%,transparent)}button.operational-ticker__item:focus-visible{outline:2px solid color-mix(in srgb,var(--ticker-tone) 68%,#fff);outline-offset:-2px}.operational-ticker__item--info{--ticker-tone: #3f78d5}.operational-ticker__item--success{--ticker-tone: #18b968}.operational-ticker__item--warning{--ticker-tone: #d6a100}.operational-ticker__item--danger{--ticker-tone: #e14c4c}.operational-ticker__icon{display:inline-grid;place-items:center;flex:0 0 auto;width:24px;height:24px;border-radius:7px;border:1px solid color-mix(in srgb,var(--ticker-tone) 22%,transparent);background:color-mix(in srgb,var(--ticker-tone) 9%,transparent);color:var(--ticker-tone)}.operational-ticker__icon svg{width:.85rem;height:.85rem}.operational-ticker__label{overflow:hidden;max-width:500px;color:color-mix(in srgb,var(--text) 88%,var(--text-muted) 12%);text-overflow:ellipsis}.operational-ticker__item strong{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 8px;border-radius:999px;background:color-mix(in srgb,var(--ticker-tone) 10%,transparent);color:color-mix(in srgb,var(--ticker-tone) 86%,var(--text) 14%);font-size:.82rem;font-weight:850;line-height:1}.operational-ticker__meta{color:color-mix(in srgb,var(--text-muted) 86%,var(--text) 14%);font-size:.72rem;font-weight:650}@keyframes operational-ticker-scroll{0%{transform:translateZ(0)}to{transform:translate3d(-50%,0,0)}}@media(prefers-reduced-motion:reduce){.operational-ticker__track{width:100%;animation:none;overflow-x:auto;scrollbar-width:thin}}@media(max-width:640px){.operational-ticker{margin-bottom:12px}.operational-ticker__track,.operational-ticker__item{min-height:40px}.operational-ticker__item{gap:7px;max-width:330px;padding:0 14px;font-size:.76rem}.operational-ticker__label{max-width:230px}}.modal-form-backdrop{position:fixed;inset:0;background:color-mix(in srgb,var(--bg) 74%,transparent);backdrop-filter:blur(8px) saturate(115%);-webkit-backdrop-filter:blur(8px) saturate(115%);display:flex;justify-content:center;align-items:center;z-index:1550;padding:20px}.modal-form-card{position:relative;width:min(92vw,760px);max-height:90vh;overflow-y:auto;padding:28px;border-radius:16px;border:1px solid var(--glass-border);background:var(--glass-bg);color:var(--text);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-sat));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-sat));box-shadow:0 18px 44px #00000042,inset 0 1px color-mix(in srgb,#ffffff 10%,transparent)}.modal-form-close-btn{position:absolute;top:15px;right:15px;width:34px;height:34px;padding:0;border-radius:10px;border:1px solid color-mix(in srgb,var(--border) 72%,#ffffff 28%);background:linear-gradient(155deg,color-mix(in srgb,var(--surface) 80%,#ffffff 20%),color-mix(in srgb,var(--surface) 92%,transparent) 44%,color-mix(in srgb,var(--surface-2) 88%,transparent));box-shadow:inset 0 1px color-mix(in srgb,#ffffff 24%,transparent),inset 0 -1px color-mix(in srgb,#000000 12%,transparent),0 4px 10px color-mix(in srgb,#000 14%,transparent);color:var(--text);font-size:18px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:transform var(--dur-2) var(--ease),background var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease),box-shadow var(--dur-2) var(--ease),color var(--dur-2) var(--ease)}.modal-form-close-btn:hover{background:color-mix(in srgb,var(--error-color) 14%,var(--surface));border-color:color-mix(in srgb,var(--error-color) 52%,var(--border));color:var(--error-color);transform:scale(1.05)}.modal-form-title{margin:0 0 25px;font-size:22px;font-weight:700;text-align:center;color:var(--text);font-family:var(--font-heading)}.modal-form-sections{display:flex;flex-direction:column;gap:18px}.modal-form-error{margin:0 0 14px;padding:12px 14px;border-radius:12px;border:1px solid color-mix(in srgb,var(--error-color) 42%,var(--border));background:color-mix(in srgb,var(--error-color) 10%,transparent);color:var(--error-color);font-size:.9rem;font-weight:700;line-height:1.4}.modal-form-section{background:var(--surface);padding:18px;border-radius:12px;border:1px solid var(--border)}.modal-section-header{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding-bottom:10px;border-bottom:2px solid color-mix(in srgb,var(--primary-color) 35%,transparent)}.modal-section-icon{color:var(--primary-color);font-size:18px}.modal-section-title{margin:0;font-size:16px;font-weight:600;color:var(--text)}.modal-section-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.modal-field-full{grid-column:1 / -1}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:13px;font-weight:600;color:var(--text-muted)}.form-group label .required{color:var(--primary-color);margin-left:4px}.form-group input,.form-group select,.form-group textarea{background:var(--input-bg);border:1px solid var(--input-border);border-radius:10px;padding:12px;color:var(--text);font-size:14px;width:100%;box-sizing:border-box;outline:none;font-family:inherit;transition:background var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease),box-shadow var(--dur-2) var(--ease)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--input-placeholder)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary-color);background:color-mix(in srgb,var(--input-bg) 60%,var(--surface-2));box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color) 14%,transparent)}.form-group select option{color:var(--select-option-color);background:var(--select-option-bg)}.form-group select option:checked,.form-group select option:hover{background:var(--select-option-bg-active);color:var(--select-option-color-active)}.modal-form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:22px;padding-top:16px;border-top:1px solid var(--border)}.btn-form-primary,.btn-form-secondary{padding:10px 20px;border-radius:10px;font-weight:700;font-size:14px;cursor:pointer;border:none;display:inline-flex;align-items:center;gap:8px}.btn-form-spinner{width:16px;height:16px;border-radius:999px;border:2px solid color-mix(in srgb,currentColor 28%,transparent);border-top-color:currentColor;flex:0 0 auto;animation:modal-form-spin .7s linear infinite}.btn-form-primary{background:var(--primary-color);color:var(--text-on-primary)}.btn-form-primary:hover{background:var(--primary-color-dark)}.btn-form-secondary{background:var(--input-bg);color:var(--text);border:1px solid var(--border)}.unique-base-modal .btn-form-primary,.unique-base-modal .btn-form-secondary{transition:transform var(--dur-2) var(--ease),background var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease),box-shadow var(--dur-2) var(--ease),color var(--dur-2) var(--ease)}.unique-base-modal .btn-form-secondary--edit{position:relative;overflow:hidden;border:1px solid color-mix(in srgb,var(--primary-color) 46%,var(--border));background:linear-gradient(145deg,color-mix(in srgb,var(--surface-2) 86%,var(--primary-color) 14%),color-mix(in srgb,var(--surface) 92%,var(--primary-color) 8%));color:color-mix(in srgb,var(--text) 90%,var(--primary-color));box-shadow:inset 0 1px color-mix(in srgb,#ffffff 20%,transparent),0 6px 16px color-mix(in srgb,var(--primary-color) 20%,transparent)}.unique-base-modal .btn-form-secondary--edit:after{content:"";position:absolute;top:-30%;left:-120%;width:50%;height:160%;pointer-events:none;background:linear-gradient(120deg,transparent 0%,color-mix(in srgb,#ffffff 35%,transparent) 50%,transparent 100%);transform:rotate(14deg);transition:left var(--dur-3) var(--ease)}.unique-base-modal .btn-form-secondary--edit:hover:not(:disabled){transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary-color) 76%,#94f0a4 24%);color:color-mix(in srgb,var(--text) 78%,#bdfdc9 22%);box-shadow:inset 0 1px color-mix(in srgb,#ffffff 34%,transparent),0 10px 24px color-mix(in srgb,var(--primary-color) 32%,transparent)}.unique-base-modal .btn-form-secondary--edit:hover:not(:disabled):after{left:140%}.unique-base-modal .btn-form-secondary--edit svg{transition:transform var(--dur-2) var(--ease),color var(--dur-2) var(--ease)}.unique-base-modal .btn-form-secondary--edit:hover:not(:disabled) svg{transform:translate(1px) scale(1.08);color:#a8f8b6}.unique-base-modal .btn-form-secondary--edit:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color) 22%,transparent),0 10px 24px color-mix(in srgb,var(--primary-color) 30%,transparent)}.unique-base-modal .btn-form-secondary--edit:disabled{opacity:.6;box-shadow:none;cursor:not-allowed}@media(max-width:768px){.modal-form-backdrop{align-items:flex-end;padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom)) 12px}.modal-form-card{width:min(100%,760px);max-height:min(92dvh,100%);padding:24px 18px 18px;border-radius:18px 18px 14px 14px}.modal-form-close-btn{top:12px;right:12px;width:42px;height:42px;border-radius:12px;font-size:20px}.modal-form-title{margin-bottom:22px;padding:4px 56px 0 6px;font-size:1.18rem;line-height:1.2}.modal-form-sections{gap:14px}.modal-form-section{padding:15px;border-radius:12px}.modal-section-header{align-items:flex-start;gap:8px;margin-bottom:12px;padding-bottom:8px}.modal-section-title{line-height:1.25}.modal-section-grid{grid-template-columns:1fr;gap:12px}.form-group{gap:7px}.form-group input,.form-group select,.form-group textarea{min-height:46px;padding:11px 12px;font-size:16px}.form-group textarea{min-height:110px}.modal-form-actions{flex-direction:column-reverse;align-items:stretch;gap:10px;margin-top:18px;padding-top:14px}.btn-form-primary,.btn-form-secondary{width:100%;min-height:46px;justify-content:center}}@media(max-width:560px){.modal-form-backdrop{padding:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom)) 8px}.modal-form-card{max-height:min(94dvh,100%);padding:20px 14px 14px;border-radius:16px 16px 12px 12px}.modal-form-close-btn{top:10px;right:10px}.modal-form-title{margin-bottom:18px;padding:4px 54px 0 4px;font-size:1.08rem}.modal-form-section{padding:13px}.modal-section-icon{font-size:16px}.modal-section-title{font-size:.95rem}.form-group label{font-size:.8rem;line-height:1.3}.btn-form-primary,.btn-form-secondary{min-height:44px;font-size:13px}}@keyframes modal-form-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.world-device-map-page{position:relative;display:flex;flex-direction:column;width:100%;min-height:calc(100dvh - var(--header-h, 50px) - 40px);margin:0 auto;padding:6px 0 28px;color:var(--text)}.world-device-map-page__loader{position:absolute;inset:0;z-index:40;overflow:hidden;pointer-events:all}.world-device-map-page__loader .screen-loader{width:100%;min-height:100%;padding:0}.world-device-map-page__loader .screen-loader__card{width:min(100%,320px)}.world-device-map-page__content{min-width:0}.world-device-map-header{display:grid;gap:12px;margin-bottom:14px}.world-device-map-header-copy{display:grid;align-content:center;gap:4px;min-width:0}.world-device-map-eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--primary-color);font-size:.86rem;font-weight:800}.world-device-map-header h1{margin:0;font-size:clamp(1.6rem,2.2vw,2.3rem);line-height:1.08}.world-device-map-header p{margin:0;color:var(--text-muted);line-height:1.35}.world-device-map-scope{display:inline-flex;margin-left:8px;color:var(--primary-color);font-size:.74rem;font-weight:700}.world-device-map-island .crud-actions-island__panel{justify-content:center;flex-wrap:nowrap;gap:10px;padding:8px 10px;width:max-content;max-width:none;backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-sat));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-sat))}.world-device-map-island.crud-actions-island--floating-dock{bottom:max(28px,env(safe-area-inset-bottom))}.world-device-map-island .crud-actions-island__group--search-filter,.world-device-map-island .crud-actions-island__separator{display:none}.world-device-map-island .crud-actions-island__actions{display:flex;align-items:stretch;flex-wrap:nowrap;gap:10px;width:auto;justify-content:center}.world-device-map-island-stack{display:inline-flex;align-items:center;gap:10px;width:max-content;max-width:none;flex:0 0 auto}.world-device-map-island-buttons{display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:8px;width:max-content;max-width:none;flex:0 0 auto}.world-device-map-island-divider{width:1px;height:38px;border-radius:999px;background:color-mix(in srgb,var(--glass-border) 78%,var(--primary-color) 22%)}.world-device-map-island-filter{display:grid;gap:4px;min-width:260px;max-width:320px;flex:0 0 auto}.world-device-map-island-filter span{display:inline-flex;align-items:baseline;color:var(--text-muted);font-size:.74rem;font-weight:800;gap:0;white-space:nowrap}.world-device-map-island-filter select{min-height:42px;padding:0 32px 0 12px;border:1px solid var(--input-border);border-radius:12px;background:linear-gradient(155deg,color-mix(in srgb,var(--surface) 80%,#ffffff 20%),color-mix(in srgb,var(--surface) 92%,transparent) 44%,color-mix(in srgb,var(--surface-2) 88%,transparent));color:var(--text);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-shadow:inset 0 1px color-mix(in srgb,#ffffff 26%,transparent),inset 0 -1px color-mix(in srgb,#000000 14%,transparent),0 4px 12px color-mix(in srgb,#000 16%,transparent)}.world-device-map-island-btn--notify{min-width:116px}.world-device-map-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.world-device-map-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px;margin-bottom:18px}.world-device-map-status-tabs{display:inline-grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;min-width:min(100%,520px);flex:1 1 520px;padding:4px;border-radius:14px;border:1px solid color-mix(in srgb,var(--border) 84%,transparent);background:color-mix(in srgb,var(--surface) 88%,transparent);box-shadow:inset 0 1px color-mix(in srgb,#ffffff 18%,transparent)}.world-device-map-status-tab{--status-tab-color: var(--primary-color);display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:36px;border:0;border-radius:10px;background:transparent;color:var(--text-muted);font-family:var(--font-heading);font-size:.78rem;font-weight:800;padding:0 10px;cursor:pointer;transition:background var(--dur-2) var(--ease),color var(--dur-2) var(--ease),box-shadow var(--dur-2) var(--ease),transform var(--dur-2) var(--ease)}.world-device-map-status-tab:hover{color:var(--text);background:color-mix(in srgb,var(--status-tab-color) 10%,transparent)}.world-device-map-status-tab.is-active{color:color-mix(in srgb,var(--text) 92%,var(--status-tab-color) 8%);background:linear-gradient(155deg,color-mix(in srgb,var(--status-tab-color) 18%,var(--surface)),color-mix(in srgb,var(--surface) 94%,transparent));box-shadow:inset 0 1px color-mix(in srgb,#ffffff 22%,transparent),0 6px 14px color-mix(in srgb,var(--status-tab-color) 12%,transparent)}.world-device-map-status-tab:focus-visible{outline:2px solid color-mix(in srgb,var(--status-tab-color) 58%,white);outline-offset:2px}.world-device-map-status-tab span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.world-device-map-status-tab strong{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:999px;background:color-mix(in srgb,var(--status-tab-color) 14%,transparent);color:var(--text);font-size:.78rem;line-height:1}.world-device-map-status-tab--total{--status-tab-color: #3f78d5}.world-device-map-status-tab--open{--status-tab-color: #18b968}.world-device-map-status-tab--closed{--status-tab-color: #e14c4c}.world-device-map-status-tab--unknown{--status-tab-color: #d6a100}.world-device-map-summary--island{min-width:min(100%,330px);max-width:360px;gap:6px;margin-bottom:0}.world-device-map-kpi{min-height:84px;padding:16px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.world-device-map-summary--island .world-device-map-kpi{display:grid;align-content:center;min-height:52px;padding:8px 10px}.world-device-map-kpi span{display:block;color:var(--text-muted);font-size:.84rem;font-weight:800}.world-device-map-summary--island .world-device-map-kpi span{font-size:.66rem}.world-device-map-kpi strong{display:block;margin-top:6px;font-size:2rem;line-height:1}.world-device-map-summary--island .world-device-map-kpi strong{margin-top:3px;font-size:1.08rem}.world-device-map-kpi--ok{border-color:color-mix(in srgb,#18b968 36%,var(--border))}.world-device-map-kpi--error{border-color:color-mix(in srgb,#e14c4c 36%,var(--border))}.world-device-map-kpi--syncing{border-color:color-mix(in srgb,#d6a100 38%,var(--border))}@media(max-width:768px){.world-device-map-status-tabs{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}}.world-device-map-error{padding:12px 14px;border:1px solid color-mix(in srgb,#e14c4c 40%,var(--border));border-radius:8px;background:color-mix(in srgb,#e14c4c 10%,var(--surface));color:#e14c4c;font-weight:800}@media(max-width:1180px){.world-device-map-summary--island{max-width:none}}@media(max-width:900px){.world-device-map-page{width:100%;min-height:calc(100dvh - var(--header-h, 50px) - 30px);padding-bottom:36px}.world-device-map-island .crud-actions-island__panel{gap:8px;padding:7px 8px;border-radius:13px;flex-wrap:nowrap;width:max-content}.world-device-map-island .crud-actions-island__actions{align-items:stretch;gap:8px;width:max-content;flex-wrap:nowrap}.world-device-map-island-filter{min-width:220px;max-width:260px}.world-device-map-island-filter span{font-size:.72rem}.world-device-map-island-filter select{min-height:38px;padding:0 10px;border-radius:10px;font-size:.8rem}.world-device-map-island-divider{height:34px}.world-device-map-summary{grid-template-columns:1fr}.world-device-map-summary--island{max-width:none}.world-device-map-island.crud-actions-island--floating-dock{bottom:max(20px,env(safe-area-inset-bottom))}}@media(max-width:640px){.world-device-map-island.crud-actions-island--floating-dock{width:calc(100vw - 24px)!important;bottom:max(16px,env(safe-area-inset-bottom))}.world-device-map-island .crud-actions-island__panel{gap:8px;padding:8px;width:100%;max-width:100%}.world-device-map-island .crud-actions-island__actions,.world-device-map-island-stack{width:100%;gap:6px}.world-device-map-island-stack{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.world-device-map-island-buttons{flex:0 0 auto;width:auto;min-width:0;gap:6px;flex-wrap:nowrap}.world-device-map-island-stack{min-width:0}.world-device-map-island-filter{min-width:0;max-width:100%;width:100%}.world-device-map-island-filter>span{display:none}.world-device-map-island-divider{display:none}.world-device-map-scope{margin-left:auto;max-width:44%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.world-device-map-island-btn--notify{flex:0 0 var(--crud-dock-control-size)!important;width:var(--crud-dock-control-size)!important;padding:0!important}.world-device-map-island-btn--notify span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.world-device-map-island-filter select{min-height:36px;padding:0 26px 0 10px;font-size:.76rem;width:100%;min-width:0}}@media(max-width:420px){.world-device-map-island .crud-actions-island__panel{gap:7px;padding:7px}.world-device-map-island .crud-actions-island__actions,.world-device-map-island-stack,.world-device-map-island-buttons{gap:5px}.world-device-map-island-btn--notify{width:var(--crud-dock-control-size)!important}}.world-device-map-shell{position:relative;flex:1 1 auto;min-height:620px;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:#aad3df;box-shadow:var(--elev-1);-webkit-user-select:none;user-select:none}.world-device-map-shell:fullscreen,.world-device-map-shell.is-fullscreen{width:100vw;height:100vh;min-height:100vh;margin:0;border:0;border-radius:0;background:#aad3df}.world-device-map-shell:fullscreen .world-device-map-leaflet,.world-device-map-shell.is-fullscreen .world-device-map-leaflet{inset:0}.world-device-map-controls{position:absolute;top:14px;left:14px;right:14px;z-index:5;display:flex;justify-content:space-between;gap:10px;pointer-events:none}.world-device-map-layer-tabs,.world-device-map-tool-buttons{display:inline-flex;gap:6px;padding:6px;border:1px solid color-mix(in srgb,var(--border) 78%,var(--primary-color) 22%);border-radius:8px;background:color-mix(in srgb,var(--surface) 88%,transparent);box-shadow:0 10px 28px color-mix(in srgb,#000 16%,transparent),inset 0 1px color-mix(in srgb,#ffffff 24%,transparent);backdrop-filter:blur(14px) saturate(150%);-webkit-backdrop-filter:blur(14px) saturate(150%);pointer-events:auto}.world-device-map-layer-tabs button,.world-device-map-tool-buttons button,.world-device-map-card__focus{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text);font-weight:800;cursor:pointer}.world-device-map-layer-tabs button{padding:0 10px}.world-device-map-tool-buttons button{width:36px}.world-device-map-layer-tabs button:hover,.world-device-map-tool-buttons button:hover,.world-device-map-card__focus:hover{background:color-mix(in srgb,var(--primary-color) 12%,transparent);color:color-mix(in srgb,var(--text) 86%,var(--primary-color) 14%)}.world-device-map-layer-tabs button:focus-visible,.world-device-map-tool-buttons button:focus-visible,.world-device-map-card__focus:focus-visible,.world-device-map-card__details-toggle:focus-visible,.world-device-map-leaflet:focus-visible{outline:3px solid color-mix(in srgb,var(--primary-color) 60%,white);outline-offset:2px}.world-device-map-layer-tabs button.is-active,.world-device-map-tool-buttons button.is-active{border-color:color-mix(in srgb,var(--primary-color) 54%,var(--border));background:color-mix(in srgb,var(--primary-color) 18%,var(--surface));color:var(--primary-color)}.world-device-map-help{position:absolute;left:14px;bottom:14px;z-index:5;max-width:min(520px,calc(100% - 28px));margin:0;padding:10px 12px;border:1px solid color-mix(in srgb,var(--border) 82%,var(--primary-color) 18%);border-radius:8px;background:color-mix(in srgb,var(--surface) 88%,transparent);color:var(--text);font-size:.8rem;font-weight:800;line-height:1.35;box-shadow:0 10px 24px color-mix(in srgb,#000 14%,transparent),inset 0 1px color-mix(in srgb,#ffffff 22%,transparent);backdrop-filter:blur(10px) saturate(135%);-webkit-backdrop-filter:blur(10px) saturate(135%);pointer-events:none}.world-device-map-leaflet{position:absolute;inset:0;z-index:1;background:#aad3df}.world-device-map-leaflet,.world-device-map-leaflet .leaflet-grab{cursor:grab}.world-device-map-leaflet .leaflet-dragging,.world-device-map-leaflet .leaflet-dragging .leaflet-grab,.world-device-map-leaflet .leaflet-grab:active{cursor:grabbing}.world-device-map-leaflet .leaflet-control-attribution{border:1px solid color-mix(in srgb,var(--border) 74%,transparent);border-radius:6px 0 0;background:color-mix(in srgb,var(--surface) 90%,transparent);color:var(--text-muted);font-size:.7rem;box-shadow:0 4px 12px color-mix(in srgb,#000 10%,transparent)}.world-device-map-leaflet .leaflet-control-attribution a{color:var(--primary-color)}.world-device-map-leaflet .leaflet-control-zoom{border:1px solid color-mix(in srgb,var(--border) 78%,var(--primary-color) 22%);border-radius:8px;overflow:hidden;background:color-mix(in srgb,var(--surface) 90%,transparent);box-shadow:0 10px 24px color-mix(in srgb,#000 14%,transparent)}.world-device-map-leaflet .leaflet-control-zoom a{border-color:color-mix(in srgb,var(--border) 82%,transparent);background:color-mix(in srgb,var(--surface) 94%,transparent);color:var(--text)}.world-device-map-leaflet .leaflet-control-zoom a:hover{background:color-mix(in srgb,var(--primary-color) 12%,var(--surface));color:var(--primary-color)}.world-device-map-leaflet .leaflet-control-zoom a.leaflet-disabled{background:color-mix(in srgb,var(--surface-2) 88%,transparent);color:var(--text-soft)}.world-device-map-leaflet .leaflet-tile,.world-device-map-leaflet .leaflet-marker-icon,.world-device-map-leaflet .leaflet-marker-shadow{display:block;max-width:none!important}.world-device-map-leaflet .leaflet-tile{width:256px!important;height:256px!important;opacity:1!important;filter:none!important}.world-device-map-leaflet .leaflet-container,.world-device-map-leaflet .leaflet-pane,.world-device-map-leaflet .leaflet-control-container{font-family:inherit}.world-device-leaflet-marker{--point-color: #e14c4c;position:relative;display:block;width:18px;height:18px;border-radius:999px;background:var(--point-color);box-shadow:0 0 0 2px #fff,0 0 0 5px color-mix(in srgb,var(--point-color) 18%,transparent),0 0 18px color-mix(in srgb,var(--point-color) 68%,transparent);pointer-events:none}.world-device-leaflet-marker--ok{--point-color: #18b968}.world-device-leaflet-marker:after{content:"";position:absolute;inset:-8px;border:1px solid color-mix(in srgb,var(--point-color) 42%,transparent);border-radius:inherit;animation:world-device-pulse 1.8s ease-out infinite}.world-device-selected-marker{position:relative;display:block;width:28px;height:28px;border:3px solid white;border-radius:999px 999px 999px 0;background:#59c950;box-shadow:0 8px 18px #0f172a3d,0 0 0 2px #59c9504d;pointer-events:none;transform:rotate(-45deg)}.world-device-selected-marker:after{content:"";position:absolute;left:50%;top:50%;width:9px;height:9px;border-radius:999px;background:#fff;transform:translate(-50%,-50%)}.world-device-project-center-marker{display:block;width:14px;height:14px;border:3px solid #ffffff;border-radius:999px;background:#0b8f52;box-shadow:0 6px 14px #0f172a2e,0 0 0 2px #0b8f5229}.world-device-project-center-marker--compact{width:18px;height:18px;border-width:4px;box-shadow:0 8px 18px #0f172a33,0 0 0 2px #0b8f522e}.world-device-selected-popup .leaflet-popup-content-wrapper{border:1px solid color-mix(in srgb,var(--primary-color) 30%,rgb(255 255 255 / 26%));border-radius:8px;background:color-mix(in srgb,#202020 84%,transparent);color:var(--text);box-shadow:0 14px 34px #0000004d,inset 0 1px #ffffff1f;backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);font-weight:800}.world-device-selected-popup .leaflet-popup-content{margin:8px 10px}.world-device-leaflet-popup .leaflet-popup-content-wrapper{border:1px solid color-mix(in srgb,var(--primary-color) 18%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--surface) 94%,white 6%);color:#111;box-shadow:0 18px 38px #0f172a38,0 4px 12px #0f172a1f;backdrop-filter:blur(12px) saturate(135%);-webkit-backdrop-filter:blur(12px) saturate(135%);pointer-events:none}.world-device-leaflet-popup .leaflet-popup-content{margin:12px 14px;pointer-events:none}.world-device-leaflet-popup .leaflet-popup-tip{background:color-mix(in srgb,var(--surface) 94%,white 6%);pointer-events:none}.world-device-leaflet-popup .leaflet-popup-close-button{top:6px;right:8px;color:#111;display:none}.world-device-leaflet-popup .leaflet-popup-close-button:hover{color:var(--text)}.world-device-popup{display:grid;gap:5px;min-width:190px;max-width:260px}.world-device-popup strong,.world-device-popup span,.world-device-popup small{overflow-wrap:anywhere}.world-device-popup strong{color:#111;font-size:.98rem;line-height:1.25}.world-device-popup span,.world-device-popup small{color:#111;font-weight:700}.world-device-popup span{font-size:.82rem}.world-device-popup small{font-size:.76rem;color:color-mix(in srgb,#111111 72%,white)}.world-device-popup__headline{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:2px}.world-device-popup__message{color:color-mix(in srgb,#111111 82%,white);font-size:.78rem}.world-device-popup__section-title{margin-top:6px;color:color-mix(in srgb,var(--primary-color) 72%,#111111);font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.world-device-popup__table{width:100%;border-collapse:collapse;margin-top:4px;border:1px solid color-mix(in srgb,var(--border) 82%,transparent);border-radius:8px;overflow:hidden;background:color-mix(in srgb,var(--surface-2) 55%,white)}.world-device-popup__table td{padding:7px 8px;border-top:1px solid color-mix(in srgb,var(--border) 78%,transparent);color:#111;font-size:.78rem;font-weight:700}.world-device-popup__table tr:first-child td{border-top:0}.world-device-popup__table td:last-child{width:72px;text-align:right;white-space:nowrap}.world-device-popup__status-cell{text-align:right}.world-device-popup__status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:0 8px;border-radius:999px;font-size:.72rem;font-weight:800;white-space:nowrap}.world-device-popup__status-pill--ok{color:#127a46;background:color-mix(in srgb,#18b968 16%,white)}.world-device-popup__status-pill--error{color:#b43535;background:color-mix(in srgb,#e14c4c 14%,white)}.world-device-popup__status-pill--syncing{color:#8a6500;background:color-mix(in srgb,#f1c94a 28%,white)}.world-device-project-area-tooltip{border:1px solid color-mix(in srgb,#0b8f52 34%,var(--border));border-radius:999px;background:color-mix(in srgb,var(--surface) 94%,white 6%);color:#0b4028;box-shadow:0 12px 28px #0f172a29,0 4px 10px #0f172a1a;font-size:.72rem;font-weight:800}.world-device-project-area-tooltip--compact{border-radius:999px;box-shadow:0 8px 18px #0f172a1f,0 2px 6px #0f172a14;font-size:.62rem;font-weight:700}.world-device-project-area-tooltip--compact .leaflet-tooltip-content{margin:2px 7px;line-height:1.15}.world-device-project-area-tooltip:before{border-top-color:color-mix(in srgb,var(--surface) 94%,white 6%)}@media(max-width:900px){.world-device-map-shell{min-height:520px}.world-device-map-controls{top:10px;left:10px;right:10px;align-items:flex-start;flex-direction:row;gap:8px}.world-device-map-layer-tabs,.world-device-map-tool-buttons{gap:5px;padding:5px;border-radius:9px}.world-device-map-layer-tabs{flex:1 1 148px;min-width:0}.world-device-map-tool-buttons{flex:0 0 auto;justify-content:center}.world-device-map-layer-tabs button,.world-device-map-tool-buttons button{min-height:34px;border-radius:7px}.world-device-map-layer-tabs button{flex:1;min-width:0;padding:0 8px}.world-device-map-layer-tabs button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.world-device-map-tool-buttons button{width:34px}.world-device-map-help{display:none}}@media(max-width:420px){.world-device-map-controls{gap:6px}.world-device-map-layer-tabs,.world-device-map-tool-buttons{gap:4px;padding:4px}.world-device-map-layer-tabs button,.world-device-map-tool-buttons button{min-height:32px}.world-device-map-layer-tabs button{gap:5px;padding:0 6px;font-size:.78rem}.world-device-map-tool-buttons button{width:32px}}@media(max-width:360px){.world-device-map-layer-tabs button{padding:0}.world-device-map-layer-tabs button span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}.world-device-map-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));align-items:stretch;gap:10px}.world-device-map-projects{display:grid;gap:12px;min-width:0;margin-top:16px}.world-device-map-project{display:grid;gap:10px;min-width:0;border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--border) 86%,transparent);background:color-mix(in srgb,var(--surface) 86%,transparent);padding:10px 12px 12px}.world-device-map-project__header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding-bottom:2px}.world-device-map-project__headline{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}.world-device-map-project__header h2{margin:0;color:var(--text);font-family:var(--font-heading);font-size:.98rem;overflow-wrap:anywhere}.world-device-map-project__header span{color:var(--text-muted);font-size:.78rem;font-weight:700}.world-device-map-project__summary{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px}.world-device-map-project__pill{display:inline-flex;align-items:center;min-height:22px;border-radius:999px;border:1px solid color-mix(in srgb,var(--pill-color) 40%,transparent);background:color-mix(in srgb,var(--pill-color) 12%,transparent);color:var(--pill-color);font-family:var(--font-heading);font-size:.7rem;font-weight:800;padding:2px 8px;white-space:nowrap}.world-device-map-project__pill--error{--pill-color: #e14c4c}.world-device-map-project__pill--ok{--pill-color: #18b968}.world-device-map-project__pill--syncing{--pill-color: #d6a100}.world-device-map-empty{display:grid;gap:8px;margin-top:16px;padding:18px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.world-device-map-empty h2{margin:0;font-size:1.05rem}.world-device-map-empty p{margin:0;color:var(--text-muted)}.world-device-map-card{display:grid;gap:10px;min-width:0;width:100%;padding:12px;border:1px solid color-mix(in srgb,var(--status-color) 30%,var(--border));border-radius:var(--radius-md);background:linear-gradient(160deg,color-mix(in srgb,var(--status-color) 10%,var(--surface)),color-mix(in srgb,var(--surface-2) 96%,transparent));box-shadow:var(--elev-1);text-align:left;cursor:pointer;transition:transform var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease),box-shadow var(--dur-2) var(--ease)}.world-device-map-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--status-color) 54%,var(--border));box-shadow:var(--elev-2)}.world-device-map-card:focus-visible{outline:2px solid color-mix(in srgb,var(--status-color) 64%,white);outline-offset:2px}.world-device-map-card--ok{--status-color: #18b968}.world-device-map-card--error{--status-color: #e14c4c}.world-device-map-card--syncing{--status-color: #d6a100}.world-device-map-card__topbar{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.world-device-map-card__topicon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--status-color);font-size:.95rem}.world-device-map-card__topicon svg{display:block}.world-device-map-card__status-group{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;justify-content:flex-end}.world-device-map-card__project{color:var(--text-muted);font-size:.78rem;overflow-wrap:anywhere}.world-device-map-card__header{display:flex;align-items:flex-start;justify-content:flex-start;gap:8px;min-width:0}.world-device-map-card__title{min-width:0}.world-device-map-card__title h2{margin:0;color:var(--text);font-size:.92rem;line-height:1.15;overflow-wrap:anywhere}.world-device-map-card__id{color:var(--text-soft);font-family:var(--font-mono, "Fira Code", "Cascadia Code", monospace);font-size:.68rem;font-weight:600;line-height:1.2;overflow-wrap:anywhere}.world-device-map-card__status{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;min-height:24px;border-radius:999px;border:1px solid color-mix(in srgb,var(--status-color) 40%,transparent);background:color-mix(in srgb,var(--status-color) 14%,transparent);color:var(--status-color);font-family:var(--font-heading);font-size:.68rem;font-weight:800;padding:3px 8px}.world-device-map-card__summary{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;min-width:0;padding-top:2px}.world-device-map-card__type{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;background:color-mix(in srgb,var(--status-color) 12%,transparent);color:color-mix(in srgb,var(--status-color) 82%,var(--text));font-family:var(--font-heading);font-size:.68rem;font-weight:800}.world-device-map-card__event{color:var(--text);font-size:.78rem;font-weight:700}.world-device-map-card__alert-badge{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:24px;padding:3px 8px;border-radius:999px;background:color-mix(in srgb,#e14c4c 12%,transparent);color:#bf3737;border:1px solid color-mix(in srgb,#e14c4c 32%,transparent);font-family:var(--font-heading);font-size:.68rem;font-weight:800}.world-device-map-card__alert-badge strong{font-size:.68rem}@media(max-width:900px){.world-device-map-list{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.world-device-map-project__header{align-items:flex-start;flex-direction:column}.world-device-map-project__summary{justify-content:flex-start}}.world-device-detail-modal{width:min(92vw,680px);border:1px solid color-mix(in srgb,var(--status-color) 32%,var(--glass-border));background:linear-gradient(160deg,color-mix(in srgb,var(--status-color) 10%,var(--glass-bg)),color-mix(in srgb,var(--surface-2) 94%,transparent))}.world-device-detail-modal--ok{--status-color: #18b968}.world-device-detail-modal--error{--status-color: #e14c4c}.world-device-detail-modal--syncing{--status-color: #d6a100}.world-device-detail{display:grid;gap:18px}.world-device-detail__header{display:grid;gap:14px}.world-device-detail__title{display:flex;align-items:center;gap:12px;min-width:0}.world-device-detail__title-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--status-color);font-size:1.3rem}.world-device-detail__title h2,.world-device-detail__title p,.world-device-detail__subdevices-header h3,.world-device-detail__subdevices-empty{margin:0}.world-device-detail__title h2{color:var(--text);font-family:var(--font-heading);font-size:1.15rem}.world-device-detail__title p{color:var(--text-muted);font-size:.9rem}.world-device-detail__status-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.world-device-detail__quick-alert{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:24px;border-radius:999px;padding:3px 8px;background:color-mix(in srgb,#f2b33d 16%,transparent);color:#c5810f;border:1px solid color-mix(in srgb,#f2b33d 40%,transparent);font-family:var(--font-heading);font-size:.68rem;font-weight:800}.world-device-detail__quick-alert svg{display:block;width:12px;height:12px;flex:0 0 auto}.world-device-detail__type-pill{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:3px 8px;background:color-mix(in srgb,var(--status-color) 12%,transparent);color:color-mix(in srgb,var(--status-color) 82%,var(--text));font-family:var(--font-heading);font-size:.72rem;font-weight:800}.world-device-detail__identity{min-width:0}.world-device-detail__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}.world-device-detail__grid div{display:grid;gap:4px;min-width:0;align-content:start;border-radius:12px;border:1px solid color-mix(in srgb,var(--status-color) 18%,transparent);background:color-mix(in srgb,var(--status-color) 8%,var(--surface-2));padding:12px}.world-device-detail__grid dt{color:var(--text-soft);font-size:.72rem;font-family:var(--font-heading);font-weight:700;letter-spacing:.04em;font-weight:800;text-transform:uppercase}.world-device-detail__grid dd{margin:0;color:var(--text);font-size:.92rem;font-weight:700;overflow-wrap:anywhere}.world-device-detail__subdevices{display:grid;gap:10px;min-width:0;border-radius:14px;border:1px solid color-mix(in srgb,var(--status-color) 16%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--status-color) 5%,var(--surface)),color-mix(in srgb,var(--surface-2) 92%,transparent));padding:12px}.world-device-detail__subdevices-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:2px}.world-device-detail__subdevices-header h3{color:var(--text);font-size:.92rem;font-family:var(--font-heading)}.world-device-detail__subdevices-header span{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 8px;border-radius:999px;background:color-mix(in srgb,#e14c4c 10%,transparent);color:#bf3737;font-size:.72rem;font-weight:800}.world-device-detail__subdevices-list{display:grid;gap:8px}.world-device-detail__subdevice-item{display:grid;gap:5px;padding:11px 12px;border:1px solid color-mix(in srgb,#e14c4c 18%,transparent);border-left:3px solid color-mix(in srgb,#e14c4c 42%,transparent);border-radius:12px;background:linear-gradient(145deg,color-mix(in srgb,#e14c4c 7%,var(--surface)),color-mix(in srgb,var(--surface-2) 78%,transparent));box-shadow:0 8px 18px #0f172a14}.world-device-detail__subdevice-item strong{color:var(--text);font-size:.85rem;line-height:1.2;overflow-wrap:anywhere}.world-device-detail__subdevice-item span,.world-device-detail__subdevices-empty{color:var(--text-muted);font-size:.82rem;line-height:1.4;overflow-wrap:anywhere}.world-device-detail__subdevices-empty{padding:12px;border-radius:12px;border:1px dashed color-mix(in srgb,var(--status-color) 18%,transparent);background:color-mix(in srgb,var(--surface-2) 55%,transparent)}.world-device-detail__actions{display:flex;justify-content:flex-start}.world-device-detail__action{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:fit-content;min-height:34px;border-radius:999px;border:1px solid color-mix(in srgb,var(--status-color) 38%,var(--border));background:color-mix(in srgb,var(--status-color) 10%,var(--surface));color:var(--text);font-family:var(--font-heading);font-size:.82rem;font-weight:800;padding:0 12px;cursor:pointer;transition:transform var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease)}.world-device-detail__action:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--status-color) 58%,var(--border))}.world-device-detail__action:focus-visible{outline:2px solid color-mix(in srgb,var(--status-color) 64%,white);outline-offset:2px}@media(max-width:900px){.world-device-detail__grid{grid-template-columns:1fr}}.world-device-map-card__focus{width:auto;min-width:104px;min-height:36px;padding:0 12px;border-radius:999px;border:1px solid color-mix(in srgb,var(--primary-color) 38%,var(--border));color:var(--primary-color);background:color-mix(in srgb,var(--primary-color) 10%,var(--surface))}@keyframes world-device-spin{to{transform:rotate(360deg)}}@keyframes world-device-pulse{0%{opacity:.72;transform:scale(.7)}to{opacity:0;transform:scale(1.8)}}:root{--font-heading: "Montserrat", "Avenir Next", "Proxima Nova", "Segoe UI", sans-serif;--font-body: "Lato", "Open Sans", "Segoe UI", Helvetica, Arial, sans-serif;--primary-color: #66d43d;--primary-color-dark: #56b333;--info-color: #3498db;--purple-color: #7b2cbf;--cyan-color: #00c6ff;--dashboard-blob-1-color: var(--primary-color);--dashboard-blob-2-color: #00c6ff;--dashboard-blob-1-mix: 80%;--dashboard-blob-2-mix: 70%;--dashboard-blob-opacity: .15;--success-color: #4CAF50;--error-color: #e53e3e;--edit-color: #FF9300;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--ease: cubic-bezier(.2, .8, .2, 1);--dur-1: .12s;--dur-2: .2s;--dur-3: .32s;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--glass-blur: 20px;--glass-blur-strong: 30px;--glass-sat: 180%;--elev-1: 0 8px 20px rgba(0, 0, 0, .12);--elev-2: 0 18px 60px rgba(0, 0, 0, .18);--elev-3: 0 22px 70px rgba(0, 0, 0, .35);--header-h: 50px;--sidebar-collapsed-w: 50px;--sidebar-open-w: 220px;--sidebar-mobile-w: 240px;--app-header-h: var(--header-h);--btn-bg: var(--surface);--btn-border: var(--border);--btn-hover: var(--surface-2);--focus-ring: color-mix(in srgb, var(--primary-color) 74%, #ffffff 26%);--focus-ring-glow: color-mix(in srgb, var(--primary-color) 30%, transparent)}:root,:root[data-theme=dark]{color-scheme:dark;--primary-color: #66d43d;--primary-color-dark: #56b333;--bg: #1a1a1a;--bg-2: #383838;--surface: rgba(255, 255, 255, .06);--surface-2: rgba(255, 255, 255, .1);--border: rgba(255, 255, 255, .12);--text: rgba(255, 255, 255, .92);--text-muted: rgba(255, 255, 255, .72);--text-soft: rgba(255, 255, 255, .6);--text-on-primary: #ffffff;--input-bg: rgba(255, 255, 255, .06);--input-border: rgba(255, 255, 255, .14);--input-placeholder: rgba(255, 255, 255, .45);--select-option-bg: #252528;--select-option-color: #eaf1ff;--select-option-bg-active: #333338;--select-option-color-active: #ffffff;--scroll-track: rgba(255, 255, 255, .05);--scroll-thumb: color-mix(in srgb, var(--primary-color) 50%, transparent);--glass-bg: var(--surface);--glass-bg-strong: var(--surface-2);--glass-border: var(--border);--elev-inset: inset 0 0 15px rgba(255, 255, 255, .04);--main-bg-color: var(--bg);--main-bg-color-ligth: var(--bg-2);--main-border-color: var(--border);--page-background: var(--bg);--card-background: rgba(255, 255, 255, .06);--card-background-black: #333333;--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .72);--border-color: var(--border)}:root[data-theme=light]{color-scheme:light;--primary-color: #495D92;--primary-color-dark: #495D92;--dashboard-blob-1-color: #495D92;--dashboard-blob-2-color: #DDE2F8;--bg: #f5f7fa;--bg-2: #ffffff;--text: #1a1a1a;--text-muted: rgba(26, 26, 26, .65);--text-soft: rgba(26, 26, 26, .45);--text-on-primary: #ffffff;--surface: #ffffff;--surface-2: #f2f4f8;--surface-3: #eef0f5;--border: rgba(20, 33, 66, .12);--input-border: rgba(20, 33, 66, .18);--input-bg: #ffffff;--input-placeholder: rgba(26, 26, 26, .4);--select-option-bg: #ffffff;--select-option-color: #1a1a1a;--select-option-bg-active: #e9eef9;--select-option-color-active: #101828;--glass-blur: 12px;--glass-blur-strong: 18px;--glass-sat: 1.35;--glass-border: rgba(20, 33, 66, .1);--glass-bg: rgba(255, 255, 255, .85);--glass-bg-strong: rgba(255, 255, 255, .95);--elev-1: 0 4px 12px rgba(20, 33, 66, .08);--elev-2: 0 10px 30px rgba(20, 33, 66, .12);--elev-3: 0 16px 40px rgba(20, 33, 66, .16);--elev-inset: 0 1px 0 rgba(255, 255, 255, .6) inset;--scroll-track: rgba(20, 33, 66, .05);--scroll-thumb: rgba(20, 33, 66, .45);--main-bg-color: var(--bg);--main-bg-color-ligth: #edf0f5;--main-border-color: var(--border);--page-background: var(--bg);--card-background: #ffffff;--card-background-black: #f0f0f0;--text-primary: var(--text);--text-secondary: var(--text-muted);--border-color: var(--border);--focus-ring: color-mix(in srgb, var(--primary-color) 66%, #142142 34%);--focus-ring-glow: color-mix(in srgb, var(--primary-color) 24%, transparent)}*,*:before,*:after{box-sizing:border-box}html{height:100%;scrollbar-gutter:stable}body{margin:0;font-family:var(--font-body);min-height:100vh;min-height:100dvh;background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}#root{width:100%;min-height:100vh;min-height:100dvh}a{color:inherit;text-decoration:none}img,svg,video,canvas{display:block;max-width:100%}.atm-icon{position:relative;display:inline-block;width:1em;height:1em;flex:0 0 auto;line-height:0;background:center / contain no-repeat url(/atmiconw.svg)}:root[data-theme=light] .atm-icon{background-image:url(/atmicon.svg)}button,input,textarea,select{font:inherit}select,input[type=date],input[type=time],input[type=datetime-local]{background-clip:padding-box;-webkit-background-clip:padding-box}select,input[type=date],input[type=time],input[type=datetime-local]{-webkit-appearance:auto;appearance:auto}input[type=date]::-webkit-date-and-time-value,input[type=time]::-webkit-date-and-time-value,input[type=datetime-local]::-webkit-date-and-time-value{text-align:left}:root[data-theme=dark] select{color-scheme:dark}:root[data-theme=light] select{color-scheme:light}select option{background:var(--select-option-bg);color:var(--select-option-color)}select option:checked,select option:hover{background:var(--select-option-bg-active);color:var(--select-option-color-active)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:.01em}button{font-family:var(--font-heading)}:where(a[href],button,input:not([type=hidden]),select,textarea,summary,[role=button],[tabindex]:not([tabindex="-1"])):focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;box-shadow:0 0 0 3px var(--focus-ring-glow)}:where(a[href],button,input:not([type=hidden]),select,textarea,summary,[role=button],[tabindex]:not([tabindex="-1"])):focus:not(:focus-visible){outline:none;box-shadow:none}::selection{background:color-mix(in srgb,var(--primary-color) 40%,transparent);color:inherit}::-moz-selection{background:color-mix(in srgb,var(--primary-color) 40%,transparent);color:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--scroll-track);border-radius:10px}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:10px;transition:background var(--dur-2) var(--ease)}::-webkit-scrollbar-thumb:hover{background:var(--primary-color)}*{scrollbar-width:thin;scrollbar-color:var(--primary-color) var(--scroll-track)}@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0ms!important}.blob{animation:none!important}}body .swal2-container{z-index:100000!important}body .swal2-container.swal2-backdrop-show,body .swal2-container.swal2-noanimation{background:#0a0a0c47!important;backdrop-filter:blur(var(--glass-blur))!important;-webkit-backdrop-filter:blur(var(--glass-blur))!important}body .swal2-container.swal2-top-end,body .swal2-container.swal2-top-right,body .swal2-container.swal2-bottom-end,body .swal2-container.swal2-bottom-right{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;pointer-events:none!important}body .swal2-popup{background:var(--surface)!important;color:var(--text)!important;border:1px solid var(--border)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--elev-2)!important;backdrop-filter:blur(var(--glass-blur, 14px));-webkit-backdrop-filter:blur(var(--glass-blur, 14px))}body .swal2-popup.swal-custom-popup{background:var(--glass-bg-strong)!important;padding:2em!important}body .swal2-title,body .swal2-title.swal-custom-title{color:var(--text)!important;font-weight:700!important}body .swal2-html-container,body .swal2-html-container.swal-custom-text{color:var(--text-muted)!important}body .swal2-actions{gap:15px;width:100%;justify-content:center}body .swal2-confirm{border:none!important;border-radius:var(--radius-md, 8px)!important;color:#fff!important;background:linear-gradient(160deg,color-mix(in srgb,var(--primary-color) 92%,#a0e8b0 8%),color-mix(in srgb,var(--primary-color-dark) 94%,#0a122f 6%))!important;box-shadow:0 6px 16px color-mix(in srgb,var(--primary-color) 26%,transparent)!important;transition:transform var(--dur-2) var(--ease),box-shadow var(--dur-2) var(--ease)!important}body .swal2-confirm:hover{transform:translateY(-1px);box-shadow:0 10px 22px color-mix(in srgb,var(--primary-color) 30%,transparent)!important}body .swal2-popup.swal-custom-popup .swal2-cancel{background:var(--surface)!important;color:var(--text)!important;border:1px solid var(--border)!important;border-radius:var(--radius-md, 8px)!important}body .swal2-popup.swal-custom-popup .swal2-cancel:hover{background:var(--surface-2)!important;border-color:var(--border)!important}body .swal2-styled:focus{box-shadow:none!important}body .swal2-styled:focus-visible{outline:2px solid color-mix(in srgb,var(--primary-color) 72%,transparent)!important;outline-offset:2px!important}body .swal2-popup.swal2-toast{pointer-events:auto!important;min-width:300px;width:auto!important;padding:.75rem 1rem!important;margin-right:1rem!important;margin-top:1rem!important;background:var(--glass-bg-strong)!important;border:1px solid var(--border)!important;box-shadow:var(--elev-3)!important}body .swal2-toast .swal2-confirm{background:var(--surface-2)!important;color:var(--primary-color)!important;border:1px solid var(--primary-color)!important;font-size:.85rem!important;padding:4px 12px!important;box-shadow:none!important;transform:none!important}body .swal2-toast .swal2-confirm:hover{background:color-mix(in srgb,var(--primary-color) 15%,transparent)!important}body .swal2-timer-progress-bar-container{overflow:visible!important}body .swal2-timer-progress-bar{background:var(--primary-color)!important;height:4px!important;border-bottom-left-radius:16px!important;border-bottom-right-radius:16px!important}body .swal2-icon.swal2-warning{border-color:var(--primary-color)!important;color:var(--primary-color)!important}body .swal2-icon.swal2-success .swal2-success-ring{border-color:var(--success-color, #4CAF50)!important}body .swal2-icon.swal2-success [class^=swal2-success-line]{background-color:var(--success-color, #4CAF50)!important}body .swal2-success-circular-line-left,body .swal2-success-circular-line-right,body .swal2-success-fix,body .swal2-popup.swal2-toast .swal2-success-circular-line-left,body .swal2-popup.swal2-toast .swal2-success-circular-line-right,body .swal2-popup.swal2-toast .swal2-success-fix,body .swal2-popup.swal2-toast .swal2-success-ring{background-color:transparent!important}.badge-quote{padding:4px 10px;border-radius:999px;font-size:12px;font-weight:900;display:inline-block;letter-spacing:.2px;white-space:nowrap}.status-draft{background:#bdc3c733;color:#bdc3c7;border:1px solid rgba(189,195,199,.38)}.status-pending{background:#2980b933;color:#2980b9;border:1px solid rgba(41,128,185,.35)}.status-sentToAdmin{background:#9b59b633;color:#9b59b6;border:1px solid rgba(155,89,182,.38)}.status-rejectedByAdmin{background:#e74c3c33;color:#e74c3c;border:1px solid rgba(231,76,60,.38)}.status-acceptedByAdmin{background:#2ecc7133;color:#2ecc71;border:1px solid rgba(46,204,113,.38)}.status-sentToClient{background:#f39c1233;color:#f39c12;border:1px solid rgba(243,156,18,.38)}.status-accepted{background:#27ae6033;color:#27ae60;border:1px solid rgba(39,174,96,.38)}.status-sold{background:color-mix(in srgb,var(--primary-color) 20%,transparent);color:var(--primary-color);border:1px solid color-mix(in srgb,var(--primary-color) 38%,transparent)}.status-closed{background:#95a5a633;color:#95a5a6;border:1px solid rgba(149,165,166,.38)}.status-invalid{background:#c0392b33;color:#c0392b;border:1px solid rgba(192,57,43,.38)}.status-other{background:#34495e33;color:#34495e;border:1px solid rgba(52,73,94,.38)}
