:root,[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-main:#07090d;--bg-top:#0f141c;--bg-card:#14181ff0;--bg-card-strong:#11141afa;--bg-input:#ffffff0a;--bg-input-focus:#ffffff0f;--bg-soft:#ffffff08;--bg-soft-hover:#ffffff0f;--border:#ffffff14;--border-strong:#ffffff1f;--border-accent:#e5393566;--text-main:#f7f9fc;--text-soft:#ffffffa8;--text-muted:#ffffff75;--primary:#e53935;--primary-top:#f04b47;--primary-bottom:#d5322f;--primary-hover:#d5312d;--primary-hover-top:#ff5d59;--primary-hover-bottom:#d6312e;--primary-soft:#e5393524;--primary-soft-strong:#e539352e;--primary-glow:#e5393538;--primary-border:#e539353d;--primary-border-strong:#e5393552;--primary-ring:#e539351f;--primary-badge-text:#ff9a9a;--primary-shadow:0 0 0 1px #e539351a, 0 16px 40px #e539351f;--danger-bg:#e5393524;--danger-bg-hover:#e5393538;--danger-text:#ff9a9a;--danger-border:#e539352e;--page-bg:radial-gradient(circle at top center, #e5393524, transparent 28%), radial-gradient(circle at left top, #ffffff0a, transparent 24%), linear-gradient(180deg, #12161d 0%, #090b10 48%, #06070a 100%);--page-overlay:radial-gradient(circle at 85% 12%, #e5393514, transparent 22%), radial-gradient(circle at 10% 80%, #ffffff08, transparent 18%);--radius-xl:28px;--radius-lg:22px;--radius-md:18px;--radius-sm:14px;--shadow-lg:0 30px 80px #0000006b;--shadow-md:0 16px 40px #00000047;font-family:Inter,SF Pro Display,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}[data-theme=blue]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-main:#060b14;--bg-top:#0d1524;--bg-card:#101828f0;--bg-card-strong:#0c121ffa;--bg-input:#ffffff0a;--bg-input-focus:#ffffff12;--bg-soft:#ffffff08;--bg-soft-hover:#ffffff0f;--border:#94a3b829;--border-strong:#94a3b83d;--border-accent:#3b82f66b;--text-main:#eef5ff;--text-soft:#e2e8f0bf;--text-muted:#bfdbfe80;--primary:#3b82f6;--primary-top:#60a5fa;--primary-bottom:#2563eb;--primary-hover:#2563eb;--primary-hover-top:#7cb7ff;--primary-hover-bottom:#2d6df0;--primary-soft:#3b82f624;--primary-soft-strong:#3b82f62e;--primary-glow:#3b82f63d;--primary-border:#3b82f63d;--primary-border-strong:#3b82f657;--primary-ring:#3b82f624;--primary-badge-text:#9bc2ff;--primary-shadow:0 0 0 1px #3b82f61f, 0 16px 40px #3b82f629;--danger-bg:#ef444424;--danger-bg-hover:#ef444438;--danger-text:#ffb0b0;--danger-border:#ef444433;--page-bg:radial-gradient(circle at top center, #3b82f62e, transparent 30%), radial-gradient(circle at left top, #ffffff09, transparent 24%), linear-gradient(180deg, #101a2c 0%, #0a1220 48%, #050914 100%);--page-overlay:radial-gradient(circle at 85% 12%, #3b82f61a, transparent 22%), radial-gradient(circle at 10% 80%, #ffffff08, transparent 18%);--shadow-lg:0 30px 80px #0006;--shadow-md:0 16px 40px #00000042}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-main:#f4f7fb;--bg-top:#fff;--bg-card:#ffffffeb;--bg-card-strong:#fffffffa;--bg-input:#0f172a0a;--bg-input-focus:#0f172a0f;--bg-soft:#0f172a09;--bg-soft-hover:#0f172a0f;--border:#0f172a1a;--border-strong:#0f172a29;--border-accent:#2563eb59;--text-main:#0f172a;--text-soft:#0f172ab8;--text-muted:#0f172a85;--primary:#2563eb;--primary-top:#60a5fa;--primary-bottom:#2563eb;--primary-hover:#1d4ed8;--primary-hover-top:#73b1ff;--primary-hover-bottom:#1d4ed8;--primary-soft:#2563eb1a;--primary-soft-strong:#2563eb24;--primary-glow:#2563eb2e;--primary-border:#2563eb38;--primary-border-strong:#2563eb4d;--primary-ring:#2563eb1f;--primary-badge-text:#1d4ed8;--primary-shadow:0 0 0 1px #2563eb14, 0 16px 34px #2563eb1f;--danger-bg:#ef44441a;--danger-bg-hover:#ef444429;--danger-text:#c62828;--danger-border:#ef444438;--page-bg:radial-gradient(circle at top center, #2563eb1f, transparent 30%), radial-gradient(circle at left top, #fffffff2, transparent 28%), linear-gradient(180deg, #f8fbff 0%, #eef4fb 48%, #e8eef7 100%);--page-overlay:radial-gradient(circle at 85% 12%, #2563eb14, transparent 22%), radial-gradient(circle at 10% 80%, #ffffff73, transparent 18%);--shadow-lg:0 24px 60px #0f172a1f;--shadow-md:0 10px 28px #0f172a14}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}html{background:var(--page-bg)}body{color:var(--text-main);background:0 0}button,input,select{font:inherit}.shell{min-height:100vh;padding:26px;position:relative}.shell:before{content:"";pointer-events:none;background:var(--page-overlay);position:fixed;inset:0}.authWrap,.acceptInvitePage{place-items:center;min-height:calc(100vh - 52px);display:grid}.authCard,.acceptInviteCard{border-radius:var(--radius-xl);border:1px solid var(--border);background:linear-gradient(180deg, #ffffff06, #fff0), var(--bg-card);width:100%;max-width:470px;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:32px}.brandTitle{text-align:center;letter-spacing:-.03em;margin:0;font-size:38px;font-weight:800}.visuallyHidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.authLogoWrap{place-items:center;margin:0 auto 22px;display:grid}.authLogo{filter:drop-shadow(0 10px 22px #00000038);grid-area:1/1;width:min(330px,100%);height:auto}.authLogoLight,[data-theme=light] .authLogoDark{display:none}[data-theme=light] .authLogoLight{display:block}.brandSubtitle{text-align:center;color:var(--text-soft);margin:10px 0 28px;font-size:15px;line-height:1.5}.inviteHero{background:var(--bg-soft);border:1px solid var(--border);border-radius:18px;margin-bottom:22px;padding:18px}.inviteHeroBadge{background:var(--primary-soft);min-height:28px;color:var(--primary-badge-text);border-radius:999px;align-items:center;margin-bottom:12px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.inviteHeroTitle{margin:0 0 8px;font-size:24px;font-weight:800}.inviteHeroText,.acceptInviteText{color:var(--text-soft);margin:0;line-height:1.55}.dashboardLayout{grid-template-columns:290px minmax(0,1fr);gap:24px;max-width:1440px;margin:0 auto;transition:grid-template-columns .18s;display:grid}.dashboardLayout.sidebarCollapsed{grid-template-columns:84px minmax(0,1fr)}.sidebar{flex-direction:column;gap:22px;min-height:calc(100vh - 52px);transition:gap .18s,padding .18s;display:flex;position:sticky;top:26px;overflow:hidden}.sidebar.collapsed{align-items:center;gap:18px;padding-inline:17px}.sidebarToggle{border:1px solid var(--border);background:var(--bg-soft);width:34px;height:34px;color:var(--text-main);cursor:pointer;border-radius:12px;align-self:flex-end;font-weight:800}.sidebar.collapsed .sidebarToggle{align-self:center}.sidebarBrand{align-items:center;gap:14px;width:100%;display:flex}.sidebarBrand .sidebarUser{flex:auto;min-width:0}.sidebarLogo{background:linear-gradient(180deg, var(--primary-top) 0%, var(--primary-bottom) 100%);width:48px;height:48px;box-shadow:var(--primary-shadow);border-radius:16px;flex:none;place-items:center;font-size:20px;font-weight:800;display:grid}.sidebarBrandText{min-width:0}.sidebarTitle{letter-spacing:-.02em;font-size:22px;font-weight:800}.sidebarBlock{gap:12px;width:100%;transition:opacity .16s,transform .18s;display:grid}.sidebarSystemBlock{margin-top:auto}.sidebar.collapsed .sidebarBrandText,.sidebar.collapsed .sidebarSectionTitle,.sidebar.collapsed .sidebarUser,.sidebar.collapsed .dangerButton{display:none}.sidebar.collapsed .sidebarBlock{justify-items:center}.sidebar.collapsed .sidebarBlock:not(.sidebarNavigation){display:none}.sidebar.collapsed .sidebarSystemBlock{display:grid}.sidebarSectionTitle{color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:700}.sidebarUser{background:var(--bg-soft);border:1px solid var(--border);border-radius:16px;min-width:0;padding:14px}.sidebarUserButton{width:100%;color:var(--text-main);text-align:left;cursor:pointer;transition:background .16s,border-color .16s}.sidebarUserButton:hover,.sidebarUserButton.active{background:var(--bg-soft-hover);border-color:var(--primary-border)}.sidebarUserName{text-overflow:ellipsis;white-space:nowrap;font-weight:760;overflow:hidden}.sidebarUserMail{color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:13px;overflow:hidden}.navButton{background:var(--bg-soft);width:100%;min-height:46px;color:var(--text-main);text-align:left;cursor:pointer;border:1px solid #0000;border-radius:14px;align-items:center;gap:11px;padding:0 14px;font-weight:650;display:flex}.navIcon{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}.navButtonLabel{text-overflow:ellipsis;min-width:0;overflow:hidden}.sidebar.collapsed .navButton{justify-content:center;width:50px;height:46px;padding:0}.sidebar.collapsed .navButtonLabel{display:none}.navButton.active{background:var(--primary-soft);border-color:var(--primary-border)}.navButton:disabled{opacity:.45;cursor:default}.navSubmenu{gap:6px;padding-left:18px;display:grid}.navSubButton{width:100%;min-height:38px;color:var(--text-soft);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;padding:0 12px;font-size:13px;font-weight:700}.navSubButton:hover,.navSubButton.active{background:var(--bg-soft);border-color:var(--border);color:var(--text-main)}.navSubButton:disabled{opacity:.45;cursor:default}.sidebar.collapsed .navSubmenu{display:none}.dashboardMain{min-width:0}.ortungCard{padding:0;overflow:hidden}.ortungControlCard,.ortungDemoCard,.ortungStatusCard{margin-bottom:24px}.ortungEmptyState{min-height:360px;color:var(--text-soft);text-align:center;place-items:center;padding:24px;display:grid}.ortungEmptyState h2,.ortungMapCard h2{margin:6px 0 0}.ortungEmptyState p{max-width:540px;margin:10px auto 0;line-height:1.55}.ortungGrid{grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);gap:24px;margin-bottom:24px;display:grid}.ortungLiveLayout{grid-template-columns:minmax(0,1fr) minmax(300px,.42fr);align-items:start;gap:18px;margin-bottom:24px;display:grid}.ortungLiveMapColumn,.ortungLiveSideColumn{min-width:0}.ortungLiveSideColumn{gap:18px;display:grid}.ortungLiveSideColumn .sectionHeader{align-items:center;gap:12px}.ortungLiveSideColumn .card{padding:16px}.ortungMapCard{min-width:0}.ortungFloorplan{border-radius:var(--radius-md);border:1px solid var(--border);background:linear-gradient(90deg, #ffffff0a 1px, transparent 1px), linear-gradient(0deg, #ffffff0a 1px, transparent 1px), var(--bg-soft);background-size:56px 56px,56px 56px,auto,auto;min-height:560px;position:relative;overflow:hidden}.ortungFloorplan.hasImage img{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.ortungGridLines{border:1px dashed var(--border-strong);border-radius:var(--radius-sm);pointer-events:none;position:absolute;inset:36px}.ortungRoom,.ortungCorridor{z-index:1;border:3px solid var(--border-strong);background:linear-gradient(135deg, #ffffff0d, #ffffff04), var(--bg-card-strong);align-items:flex-start;padding:14px;display:flex;position:absolute}.ortungRoom span,.ortungCorridor span{color:var(--text-soft);text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:800}.ortungRoomOfficeA{border-radius:16px 4px 4px 16px;width:26%;height:32%;top:8%;left:7%}.ortungRoomOfficeB{border-left-width:0;border-radius:4px;width:28%;height:32%;top:8%;left:33%}.ortungRoomMeeting{border-left-width:0;border-radius:4px 16px 4px 4px;width:32%;height:45%;top:8%;left:61%}.ortungRoomStorage{border-top-width:0;border-radius:4px 4px 4px 16px;width:26%;height:30%;top:62%;left:7%}.ortungRoomTech{border-top-width:0;border-radius:4px 4px 16px;width:32%;height:30%;top:62%;left:61%}.ortungCorridor{background:repeating-linear-gradient(90deg, #ffffff0d 0, #ffffff0d 12px, transparent 12px, transparent 24px), var(--bg-soft-hover);border-top-width:0;border-bottom-width:0;justify-content:center;align-items:center;width:86%;height:22%;top:40%;left:7%}.ortungDoor{z-index:3;background:var(--primary-top);width:42px;height:7px;box-shadow:0 0 0 4px var(--bg-soft);border-radius:999px;position:absolute}.ortungDoorA{top:39%;left:22%}.ortungDoorB{top:39%;left:48%}.ortungDoorC{top:61%;left:72%}.ortungStationPin,.ortungBeaconPin{z-index:2;place-items:center;display:grid;position:absolute;transform:translate(-50%,-50%)}.ortungStationPin{background:var(--bg-card-strong);border:1px solid var(--border-strong);width:42px;height:42px;box-shadow:var(--shadow-md);border-radius:14px}.ortungStationPin span{color:var(--text-main);font-size:12px;font-weight:850}.ortungBeaconPin{border:1px solid var(--primary-border-strong);background:var(--primary-soft-strong);width:54px;height:54px;box-shadow:0 0 0 12px var(--primary-ring), var(--primary-shadow);border-radius:999px}.ortungBeaconPin span{background:linear-gradient(180deg, var(--primary-top), var(--primary-bottom));border-radius:999px;width:16px;height:16px}.ortungBeaconPin strong{border:1px solid var(--border);background:var(--bg-card-strong);max-width:160px;box-shadow:var(--shadow-sm);color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:800;line-height:1.2;position:absolute;top:calc(100% + 10px);left:50%;overflow:hidden;transform:translate(-50%)}.ortungFloorplanEmpty{color:var(--text-soft);text-align:center;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.ortungBeaconList,.ortungSignalRows,.ortungStationGrid{gap:12px;display:grid}.ortungBeaconCard,.ortungStationCard{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-soft);width:100%;color:inherit;font:inherit;text-align:left;padding:16px}.interactiveCard,.selectableCard{cursor:pointer}.interactiveCard:hover,.selectableCard:hover{border-color:var(--primary-border);background:var(--bg-soft-hover)}.interactiveCard.active,.selectableCard.selected{border-color:var(--primary-border-strong);background:var(--primary-soft);box-shadow:var(--primary-shadow)}.ortungSignalRows{margin-top:14px}.ortungSignalRow{grid-template-columns:minmax(0,1.2fr) minmax(90px,1fr) auto;align-items:center;gap:12px;display:grid}.ortungSignalBar{background:var(--bg-soft-hover);border-radius:999px;height:8px;overflow:hidden}.ortungSignalBar span{border-radius:inherit;background:linear-gradient(90deg, var(--primary-bottom), var(--primary-top));height:100%;display:block}.ortungStationGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.ortungLiveSideColumn .ortungStationGrid{grid-template-columns:1fr;gap:8px}.ortungLiveSideColumn .ortungStationCard{justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.ortungLiveSideColumn .ortungBeaconCard{padding:12px}.ortungLiveSideColumn .toolbarRow{gap:8px}.ortungLiveSideColumn .segmentedControl{width:100%}.ortungLiveSideColumn .segmentedControl button{flex:1}.ortungTotalMetric{border:1px solid var(--primary-border-strong);border-radius:var(--radius-sm);background:var(--primary-soft);min-width:86px;box-shadow:var(--primary-shadow);text-align:center;padding:8px 10px;display:inline-grid}.ortungTotalMetric strong{color:var(--text-main);font-size:24px;font-weight:900;line-height:1}.ortungTotalMetric span{color:var(--text-soft);text-transform:uppercase;margin-top:4px;font-size:10px;font-weight:800}.ortungConfigGrid{grid-template-columns:minmax(0,1fr) minmax(280px,.45fr);gap:24px;display:grid}.ortungGatewayPalette{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-soft);min-width:0;padding:16px}.sectionHeader.compact{margin-bottom:14px}.ortungGatewayDraggableList{gap:10px;max-height:420px;display:grid;overflow-y:auto}.ortungGatewayDraggable{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);cursor:grab;gap:4px;padding:12px;display:grid}.ortungGatewayDraggable:active{cursor:grabbing}.ortungGatewayDraggable.placed{border-color:var(--primary-border-strong);background:var(--primary-soft)}.ortungGatewayDraggable span{color:var(--text-soft);font-size:12px}.ortungConfigPlan{border:1px solid var(--border);border-radius:var(--radius-md);background:linear-gradient(90deg, #ffffff09 1px, transparent 1px), linear-gradient(0deg, #ffffff09 1px, transparent 1px), var(--bg-soft);background-size:42px 42px;min-height:620px;position:relative;overflow:hidden}.ortungConfigPlan.drawingReference{cursor:crosshair}.ortungConfigPlan img{object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.ortungConfigPlanEmpty{color:var(--text-soft);text-align:center;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.ortungPlacedGateway{z-index:4;border:1px solid var(--primary-border-strong);background:var(--bg-card-strong);width:44px;height:44px;box-shadow:var(--shadow-md);color:var(--text-main);cursor:pointer;border-radius:14px;place-items:center;display:grid;position:absolute;transform:translate(-50%,-50%)}.ortungPlacedGateway span{font-size:12px;font-weight:850}.ortungMapboxCard{gap:16px;display:grid}.ortungMapControls{max-width:420px}.ortungOverlayControls{grid-template-columns:minmax(260px,1.3fr) repeat(2,minmax(180px,.8fr)) auto;align-items:end;gap:14px;display:grid}.ortungOverlayHint{align-self:stretch}.ortungOverlayControls input[type=range]{accent-color:var(--primary-bottom);padding:0}.ortungFloorplanEditList{gap:12px;display:grid}.ortungFloorplanEditItems{gap:8px;display:grid}.ortungFloorplanEditItem{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.ortungMapboxFrame{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-soft);overflow:hidden}.ortungMapboxContainer{width:100%;min-height:620px}.ortungMapMarker{color:#fff;place-items:center;width:42px;height:42px;font-size:12px;font-weight:850;display:grid;position:relative}.ortungMapMarker:before{content:"";background:linear-gradient(#60a5fa,#2563eb);border:2px solid #fff;border-radius:999px 999px 999px 0;position:absolute;inset:0;transform:rotate(-45deg);box-shadow:0 10px 24px #00000047}.ortungMapMarker.offline:before{background:linear-gradient(#f87171,#dc2626)}.ortungMapMarker.online:before{background:linear-gradient(#60a5fa,#2563eb)}.ortungMapMarker span{z-index:1;position:relative}.ortungMapBeaconMarker{border:1px solid var(--primary-border-strong);background:var(--primary-soft-strong);width:54px;height:54px;box-shadow:0 0 0 12px var(--primary-ring), var(--primary-shadow);border-radius:999px;place-items:center;display:grid;position:relative}.ortungMapBeaconDot{background:linear-gradient(180deg, var(--primary-top), var(--primary-bottom));border-radius:999px;width:16px;height:16px}.ortungMapBeaconMarker.otherFloor{box-shadow:0 0 0 12px #f59e0b1f, var(--primary-shadow);background:#f59e0b2e;border-color:#f59e0b75}.ortungMapBeaconMarker.otherFloor .ortungMapBeaconDot{background:linear-gradient(#fcd34d,#f59e0b)}.ortungMapBeaconMarker strong{border:1px solid var(--border);background:var(--bg-card-strong);min-width:118px;max-width:176px;box-shadow:var(--shadow-sm);color:var(--text-main);text-align:center;border-radius:10px;gap:1px;padding:7px 10px 8px;font-size:12.5px;font-weight:800;line-height:1.18;display:grid;position:absolute;top:calc(100% + 9px);left:50%;overflow:hidden;transform:translate(-50%)}.ortungMapBeaconMarker strong:before{content:"";border-left:1px solid var(--border);border-top:1px solid var(--border);background:var(--bg-card-strong);width:9px;height:9px;position:absolute;top:-5px;left:50%;transform:translate(-50%)rotate(45deg)}.ortungMapBeaconName,.ortungMapBeaconFloor{z-index:1;text-overflow:ellipsis;white-space:nowrap;position:relative;overflow:hidden}.ortungMapBeaconName{min-width:0;display:block}.ortungMapBeaconFloor{color:var(--text-soft);text-transform:uppercase;font-size:10.5px;font-weight:700;display:block}.ortungMapBeaconMarker.otherFloor strong{border-color:#f59e0b6b}.ortungMapBeaconMarker.otherFloor strong,.ortungMapBeaconMarker.otherFloor strong:before{background:color-mix(in srgb, var(--bg-card-strong) 82%, #f59e0b 18%)}.ortungMapOverlayHandle,.ortungMapOverlayMoveHandle{cursor:grab;background:#f04b47;border:2px solid #fff;place-items:center;display:grid;box-shadow:0 8px 22px #00000057}.ortungMapOverlayHandle:active,.ortungMapOverlayMoveHandle:active{cursor:grabbing}.ortungMapOverlayHandle{border-radius:6px;width:20px;height:20px}.ortungMapOverlayMoveHandle{background:var(--primary-bottom);border-radius:999px;width:30px;height:30px}.ortungMapOverlayMoveHandle:before{content:"";background:#fff;border-radius:999px;width:10px;height:10px}.ortungReferenceLayer{z-index:3;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.ortungReferenceLayer line{stroke:#f04b47;stroke-width:.8px;stroke-linecap:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 2px 6px #00000052)}.ortungReferenceStart{z-index:5;width:14px;height:14px;box-shadow:var(--shadow-md);pointer-events:none;background:#f04b47;border:3px solid #fff;border-radius:999px;position:absolute;transform:translate(-50%,-50%)}@media (width<=1180px){.ortungLiveLayout,.ortungGrid,.ortungStationGrid,.ortungConfigGrid{grid-template-columns:1fr}}.topBar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px;display:flex}.pageTitle{letter-spacing:-.03em;margin:6px 0 0;font-size:34px;font-weight:800}.eyebrow{color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:700}.subtle{color:var(--text-soft);margin-top:6px}.card{background:linear-gradient(180deg, #ffffff06, #fff0), var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:24px}.dashboardGrid{grid-template-columns:1fr;gap:24px;display:grid}.sectionHeader{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.sectionHeader h2{letter-spacing:-.02em;margin:6px 0 0;font-size:24px;font-weight:800}.form{gap:16px;display:grid}.formCompact{margin-bottom:22px}.inputGroup{gap:8px;display:grid}.inputGroup span{color:var(--text-soft);font-size:13px;font-weight:600}.input{border:1px solid var(--border);background:var(--bg-input);width:100%;min-height:50px;color:var(--text-main);border-radius:var(--radius-sm);outline:none;padding:14px 16px;transition:all .18s}.input:hover{background:var(--bg-input-focus);border-color:var(--border-strong)}.input:focus{background:var(--bg-input-focus);border-color:var(--border-accent);box-shadow:0 0 0 4px var(--primary-ring)}.primaryButton,.ghostButton,.dangerButton,.listItem{cursor:pointer;border:0;transition:transform .14s,background .18s,border-color .18s,opacity .18s}.primaryButton:active,.ghostButton:active,.dangerButton:active,.listItem:active{transform:translateY(1px)scale(.996)}.primaryButton{background:linear-gradient(180deg, var(--primary-top) 0%, var(--primary-bottom) 100%);color:#fff;letter-spacing:.01em;min-height:52px;box-shadow:var(--primary-shadow);border-radius:16px;font-weight:800}.primaryButton:hover{background:linear-gradient(180deg, var(--primary-hover-top) 0%, var(--primary-hover-bottom) 100%)}.ghostButton{background:var(--bg-soft);min-height:50px;color:var(--text-main);border:1px solid var(--border);border-radius:16px;font-weight:650}.ghostButton:hover{background:var(--bg-soft-hover)}.secondaryButton{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-soft);min-height:46px;color:var(--text-main);cursor:pointer;font-weight:700}.secondaryButton:hover{background:var(--bg-soft-hover)}.linkButton{width:fit-content;color:var(--text-soft);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;padding:0;font-weight:700}.linkButton:hover{color:var(--text-main)}.inlinePanel{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-soft);gap:12px;padding:14px;display:grid}.dangerButton{background:var(--danger-bg);min-height:46px;color:var(--danger-text);border:1px solid var(--danger-border);border-radius:14px;padding:0 16px;font-weight:750}.dangerButton:hover{background:var(--danger-bg-hover)}.list{gap:12px;display:grid}.listItem{text-align:left;background:var(--bg-soft);border:1px solid #0000;border-radius:18px;width:100%;padding:16px 16px 15px}.listItem:hover{background:var(--bg-soft-hover);border-color:var(--border)}.listItem.active{background:linear-gradient(180deg, var(--primary-soft-strong), var(--primary-soft));border-color:var(--primary-border-strong);box-shadow:0 10px 28px var(--primary-ring)}.listTitle{font-size:15px;font-weight:760;line-height:1.3}.listMeta{color:var(--text-soft);margin-top:5px;font-size:13px}.membersBlock{gap:12px;margin-top:18px;display:grid}.blockTitle{color:var(--text-main);font-size:15px;font-weight:760}.memberRow{background:var(--bg-soft);border:1px solid var(--border);border-radius:18px;justify-content:space-between;align-items:center;gap:14px;padding:16px;display:flex}.roleBadge{background:var(--bg-soft-hover);min-height:34px;color:var(--text-main);text-transform:lowercase;border:1px solid var(--border);border-radius:999px;justify-content:center;align-items:center;padding:0 12px;font-size:12px;font-weight:750;display:inline-flex}.permissionTableWrap{border:1px solid var(--border);background:var(--bg-soft);border-radius:8px;width:100%;overflow-x:auto}.permissionTable{border-collapse:collapse;width:100%;min-width:720px;font-size:13px}.permissionTable th,.permissionTable td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;white-space:nowrap;padding:12px 14px}.permissionTable th{color:var(--text-soft);text-transform:uppercase;font-size:11px;font-weight:800}.permissionTable tr:last-child td{border-bottom:0}.permissionTable input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary)}.toolbarRow{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.segmentedControl{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-soft);display:inline-flex;overflow:hidden}.segmentedControl button{border:0;border-right:1px solid var(--border);min-height:36px;color:var(--text-soft);font:inherit;cursor:pointer;background:0 0;padding:0 12px;font-size:13px;font-weight:800}.segmentedControl button:last-child{border-right:0}.segmentedControl button.active{background:var(--primary-soft);color:var(--text-main)}.orgSettingsPanel,.apiDocsPanel{gap:16px;display:grid}.apiDocList{gap:12px;margin-top:6px;display:grid}.apiEndpoint{border:1px solid var(--border);background:var(--bg-soft);border-radius:12px;gap:8px;padding:14px;display:grid}.apiEndpointHead{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.apiMethod{background:var(--primary-soft);min-height:26px;color:var(--text-main);border-radius:8px;align-items:center;padding:0 9px;font-size:12px;font-weight:800;display:inline-flex}.appRegistrationList{gap:12px;display:grid}.appRegistrationRow{border:1px solid var(--border);background:var(--bg-soft);border-radius:14px;justify-content:space-between;gap:16px;padding:16px;display:flex}.appRegistrationSide{text-align:right;flex-direction:column;align-items:flex-end;gap:6px;display:flex}.accountPushActions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.pushTestButtonRow{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.pushTestButton{width:100%;min-height:52px}.themeSwitchGrid{gap:10px;display:grid}.themeOption{border:1px solid var(--border);background:var(--bg-soft);width:100%;min-height:52px;color:var(--text-main);cursor:pointer;border-radius:16px;align-items:center;gap:12px;padding:12px 14px;transition:transform .14s,background .18s,border-color .18s,opacity .18s;display:flex}.themeOption:hover{background:var(--bg-soft-hover)}.themeOption.active{background:linear-gradient(180deg, var(--primary-soft-strong), var(--primary-soft));border-color:var(--primary-border-strong);box-shadow:0 10px 28px var(--primary-ring)}.themeOption:active{transform:translateY(1px)scale(.996)}.themePreview{border:1px solid var(--border-strong);border-radius:999px;width:18px;min-width:18px;height:18px}.themePreview-dark{background:linear-gradient(135deg,#111827 0%,#ef4444 100%)}.themePreview-blue{background:linear-gradient(135deg,#0f172a 0%,#3b82f6 100%)}.themePreview-light{background:linear-gradient(135deg,#fff 0%,#60a5fa 100%)}.themeOptionContent{text-align:left;gap:3px;display:grid}.themeOptionLabel{font-weight:760}.themeOptionHint{color:var(--text-soft);font-size:12px}.infoPill{background:var(--bg-soft);min-height:34px;color:var(--text-soft);border:1px solid var(--border);border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.inviteResultCard{background:var(--bg-soft);border:1px solid var(--border);border-radius:18px;margin-top:18px;padding:18px}.statusText,.statusBar,.emptyState{color:var(--text-soft)}.statusText{text-align:center;margin-top:20px;line-height:1.5}.statusTextLeft{color:var(--text-soft);margin-top:18px;line-height:1.5}.statusBar{border-left:4px solid var(--primary-border-strong);margin-top:24px}.statusToast{z-index:1300;border:1px solid var(--primary-border-strong);background:linear-gradient(180deg, #ffffff09, #fff0), var(--bg-card-strong);width:min(380px,100vw - 36px);box-shadow:var(--shadow-md);color:var(--text-main);opacity:0;pointer-events:none;border-radius:14px;padding:14px 16px;transition:opacity .22s,transform .22s;position:fixed;top:18px;right:18px;transform:translateY(-10px)}.statusToastVisible{opacity:1;transform:translateY(0)}.statusToastLabel{color:var(--primary-badge-text);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:800}.statusToastText{color:var(--text-soft);font-size:14px;line-height:1.45}.appUpdateNotice{z-index:1400;border:1px solid var(--primary-border-strong);background:linear-gradient(180deg, #ffffff0b, #fff0), var(--bg-card-strong);width:min(420px,100vw - 36px);box-shadow:var(--shadow-lg);color:var(--text-main);border-radius:16px;align-items:center;gap:16px;padding:14px 16px;display:flex;position:fixed;bottom:18px;left:18px}.appUpdateTitle{color:var(--text-main);font-size:15px;font-weight:800}.appUpdateText{color:var(--text-soft);margin-top:3px;font-size:13px;line-height:1.35}.alarmIncomingNotice{z-index:1450;background:linear-gradient(135deg, #f04b472e, #ffffff09), var(--bg-card-strong);width:min(390px,100vw - 36px);box-shadow:var(--shadow-lg);border:1px solid #f04b4773;border-radius:16px;align-items:center;gap:10px;padding:10px;display:flex;position:fixed;bottom:18px;left:18px}.alarmIncomingNoticeButton{min-width:0;color:var(--text-main);text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:12px;padding:6px;display:flex}.alarmIncomingIcon{color:#fff;background:#f04b47;border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;font-size:20px;font-weight:900;display:inline-flex}.alarmIncomingTitle,.alarmIncomingText{display:block}.alarmIncomingTitle{color:var(--text-main);font-size:15px;font-weight:850}.alarmIncomingText{color:var(--text-soft);margin-top:3px;font-size:13px}.alarmIncomingClose{border:1px solid var(--primary-border);background:var(--button-muted-bg);width:34px;height:34px;color:var(--text-soft);cursor:pointer;border-radius:999px}.emptyState{padding:18px 0 6px;line-height:1.5}@media (width<=1180px){.dashboardLayout{grid-template-columns:1fr}.sidebar{min-height:auto;position:static}.dashboardGrid{grid-template-columns:1fr}}@media (width<=900px){.shell{padding:18px}.topBar{flex-direction:column;align-items:flex-start}.authCard,.acceptInviteCard{padding:24px}.pageTitle{font-size:28px}.brandTitle{font-size:32px}}@media (width<=640px){.card,.authCard,.acceptInviteCard{border-radius:22px}.shell{padding:14px}.dashboardGrid{gap:16px}}.invitationRow{background:var(--bg-soft);border:1px solid var(--border);border-radius:18px;justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.invitationMain{min-width:0}.invitationSide{flex-direction:column;align-items:flex-end;gap:10px;display:flex}.statusBadge{text-transform:lowercase;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:34px;padding:0 12px;font-size:12px;font-weight:750;display:inline-flex}.status-pending{color:#ffcf7e;background:#ffb84d24;border-color:#ffb84d38}.status-accepted,.status-active{color:#8ee3a0;background:#53c26b24;border-color:#53c26b38}.status-trial{color:#9ec5ff;background:#5ea6ff24;border-color:#5ea6ff38}.status-expired{color:#faa;background:#ff7f7f24;border-color:#ff7f7f38}.smallButton{border-radius:12px;min-height:38px;padding:0 12px}@media (width<=780px){.invitationRow,.memberRow{flex-direction:column;align-items:flex-start}.invitationSide{align-items:flex-start;width:100%}}.superadminOrgList{gap:14px;margin-top:16px;display:grid}.superadminOrgCard{background:var(--bg-soft);border:1px solid var(--border);border-radius:18px;gap:16px;padding:18px;display:grid}.superadminOrgToggle{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.superadminOrgToggle:focus-visible{outline:2px solid var(--primary-border-strong);outline-offset:4px;border-radius:8px}.superadminOrgMain{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.superadminBillingGrid{grid-template-columns:minmax(220px,.45fr) minmax(0,1fr) minmax(220px,.45fr);gap:16px;display:grid}.superadminDeviceGrid{grid-template-columns:repeat(3,minmax(160px,1fr));gap:12px;display:grid}.superadminPriceRow{grid-template-columns:minmax(180px,260px) auto;align-items:end;gap:12px;display:grid}.superadminRecipientGrid{grid-template-columns:repeat(3,minmax(180px,1fr)) auto;align-items:end;gap:12px;display:grid}.superadminDeviceMetric{border:1px solid var(--border);background:var(--bg);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.superadminDeviceMetric span{color:var(--text-soft);font-size:13px;font-weight:700}.superadminDeviceMetric strong{color:var(--text);font-size:24px;line-height:1}.superadminBillingText{color:var(--text-soft);gap:4px;margin-top:8px;font-size:13px;line-height:1.45;display:grid}.invoiceArchiveList{gap:10px;margin-top:18px;display:grid}.invoiceArchiveItem{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-soft);grid-template-columns:minmax(150px,1.2fr) repeat(5,minmax(90px,1fr)) auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.invoiceArchiveItem div{gap:3px;min-width:0;display:grid}.invoiceArchiveItem span{color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;overflow:hidden}.invoiceArchiveItem strong{color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.errorBanner{border-radius:var(--radius-sm);color:var(--danger-text);background:#ef44441a;border:1px solid #ef44445c;margin-top:16px;padding:12px 14px;font-weight:700}@media (width<=780px){.superadminOrgMain,.superadminBillingGrid,.superadminDeviceGrid,.superadminPriceRow,.superadminRecipientGrid,.invoiceArchiveItem{grid-template-columns:1fr}.superadminOrgMain{flex-direction:column}}select.input option:checked{background:var(--bg-soft-hover);color:var(--text-main)}.listStack{gap:10px;display:grid}.detailsGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.detailsGrid>div{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-soft);padding:12px}.detailsGrid span{color:var(--text-soft);text-transform:uppercase;font-size:12px;font-weight:800;display:block}.detailsGrid strong{color:var(--text-main);overflow-wrap:anywhere;margin-top:6px;display:block}.tableWrap{width:100%;overflow-x:auto}.statusError{border-radius:var(--radius-sm);color:var(--text-main);background:#dc26261f;border:1px solid #dc262652;margin-bottom:16px;padding:14px 16px}.checkboxRow{color:var(--text-main);align-items:center;gap:10px;font-weight:700;display:flex}.checkboxRow input{width:18px;height:18px}.metricGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.metricCard{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-soft);min-height:82px;padding:16px}.metricCard strong{color:var(--text-main);margin-top:8px;font-size:24px;line-height:1.1;display:block}.metricButton{text-align:left;cursor:pointer}.metricButton:hover{background:var(--bg-soft-hover);border-color:var(--border-strong)}.metricButton span{color:var(--text-soft);margin-top:8px;font-size:12px;font-weight:700;display:block}.metricLabel{color:var(--text-soft);text-transform:uppercase;font-size:12px;font-weight:800}.tableScroll{width:100%;overflow-x:auto}.dataTable{border-collapse:collapse;width:100%;min-width:920px}.dataTable th,.dataTable td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:13px 14px}.dataTable th{color:var(--text-soft);text-transform:uppercase;font-size:12px;font-weight:800}.dataTable td{color:var(--text-main);font-size:14px}.timeTrackingFilters{grid-template-columns:150px 150px minmax(220px,1fr) 110px}.timeTrackingPeopleModal{max-width:640px}.timeTrackingPeopleList{gap:10px;max-height:420px;display:grid;overflow:auto}.splitGrid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.checkboxCard{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-input);min-height:50px;padding:14px 16px}@media (width<=1180px){.managementGrid{grid-template-columns:1fr}}@media (width<=720px){.splitGrid,.metricGrid,.detailsGrid,.timeTrackingFilters{grid-template-columns:1fr}}.inputTextarea{resize:vertical;min-height:140px}select.input{appearance:none;background:var(--bg-input);color:var(--text-main);color-scheme:inherit}select.input option{background:var(--bg-card-strong);color:var(--text-main)}.thingsColumns{grid-template-columns:1fr;gap:24px;display:grid}.thingsColumn{min-width:0}.managementGrid{grid-template-columns:1fr;gap:24px;display:grid}.splitGrid,.fieldBuilderGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.fieldBuilderList{gap:14px;display:grid}.fieldBuilderCard,.checkboxCard{border:1px solid var(--border);background:var(--bg-soft);border-radius:18px;padding:14px}.checkboxGroup{align-content:end}.checkRow{color:var(--text-main);align-items:center;gap:10px;display:inline-flex}.checkRow input{width:18px;height:18px}.fieldTypePill{background:var(--bg-soft-hover);min-height:24px;color:var(--text-soft);border-radius:999px;align-items:center;margin-left:8px;padding:0 8px;font-size:12px;display:inline-flex}.modalBackdrop{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#03050885;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow-y:auto}.modalCard{border:1px solid var(--border);background:linear-gradient(180deg, #ffffff06, #fff0), var(--bg-card-strong);width:100%;max-width:520px;box-shadow:var(--shadow-lg);border-radius:24px;padding:24px}.wideModalCard{max-width:980px}.modalTitle{letter-spacing:-.02em;margin:8px 0 12px;font-size:26px;font-weight:800}.modalText{color:var(--text-soft);margin:0;line-height:1.6}.modalActions{flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:24px;display:flex}@media (width<=1180px){.thingsColumns,.managementGrid{grid-template-columns:1fr}}@media (width<=780px){.splitGrid,.fieldBuilderGrid{grid-template-columns:1fr}}.gatewayMapCard{border-top:1px solid #ffffff14;margin-top:24px;padding-top:24px}.settingsGrid{grid-template-columns:minmax(0,760px);gap:24px;display:grid}.settingsMapCard{gap:12px;display:grid}.settingsMapHint{color:var(--text-soft);font-size:13px;line-height:1.5}.settingsMapFrame{border:1px solid var(--border);background:var(--bg-top);border-radius:20px;position:relative;overflow:hidden}.settingsMapContainer{width:100%;min-height:360px}.settingsMapCenterPin{pointer-events:none;z-index:10;width:22px;height:22px;position:absolute;top:50%;left:50%;transform:translate(-50%,-100%)}.settingsMapCenterPin:before{content:"";background:#f04b47;border-radius:999px 999px 999px 0;position:absolute;inset:0;transform:rotate(-45deg);box-shadow:0 8px 18px #0000003d}.settingsMapCenterPin:after{content:"";background:#fff4f4;border-radius:999px;width:8px;height:8px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.gatewayMapHint{color:var(--text-soft);margin-bottom:12px;font-size:13px;line-height:1.5}.gatewayMapContainer{border:1px solid var(--border);background:var(--bg-top);border-radius:20px;width:100%;min-height:460px;overflow:hidden}.mapboxgl-popup-content{background:var(--bg-card-strong);color:var(--text-main);border:1px solid var(--border);border-radius:14px;box-shadow:0 12px 36px #0000002e}.mapboxgl-popup-tip{border-top-color:var(--bg-card-strong)!important;border-bottom-color:var(--bg-card-strong)!important}@media (width<=780px){.settingsMapContainer{min-height:280px}.gatewayMapContainer{min-height:320px}}.gatewayMapWrapper{position:relative}.gatewayMapNotice{pointer-events:none;z-index:20;background:var(--bg-card-strong);color:var(--text-main);border:1px solid var(--border-strong);white-space:nowrap;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:600;position:absolute;transform:translate(-50%,-140%);box-shadow:0 10px 28px #0000002e}.gatewaySettingsModalCard{grid-template-rows:auto auto minmax(0,1fr);gap:18px;width:100%;max-width:min(1180px,100vw - 32px);max-height:calc(100vh - 40px);display:grid;overflow:hidden}.gatewaySettingsModalHeader{z-index:2;background:var(--bg-card-strong);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:8px;display:flex;position:sticky;top:0}.gatewaySettingsModalActions,.gatewaySettingsMetaRow,.gatewayMapHeaderActions,.gatewayFloorplanToolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.gatewaySettingsMetaRow{align-items:flex-start}.gatewaySettingsIntro{max-width:72ch}.gatewaySettingsModalBody{min-height:0;padding-right:8px;overflow:hidden auto}.gatewaySettingsFieldGrid,.gatewaySettingsSectionsGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.gatewaySettingsSectionsGrid{margin-top:18px}.gatewaySettingsSectionCard{padding:18px}.gatewaySettingsSectionTitle{margin:6px 0 14px;font-size:18px;font-weight:800}.gatewaySettingsTextarea{resize:vertical;min-height:96px}.gatewayMapHeader{align-items:flex-start;gap:16px}.gatewayFileButton{cursor:pointer;align-items:center;display:inline-flex}.successPill{background:#2ecc7124;border-color:#2ecc713d}@media (width<=900px){.gatewaySettingsFieldGrid,.gatewaySettingsSectionsGrid{grid-template-columns:1fr}}.gatewayEditorModalCard{grid-template-rows:auto minmax(0,1fr);gap:18px;width:100%;max-width:min(1180px,100vw - 32px);max-height:calc(100vh - 40px);display:grid;overflow:hidden}.gatewayEditorModalHeader{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.gatewayEditorModalBody{min-height:0;padding-right:8px;overflow:hidden auto}@media (width<=780px){.gatewayEditorModalCard{max-width:calc(100vw - 20px);max-height:calc(100vh - 20px);padding:18px}}.gatewayListRow{justify-content:space-between;align-items:center;gap:12px;display:flex}.gatewayStateDot{border:2px solid #ffffff2e;border-radius:999px;width:14px;min-width:14px;height:14px;box-shadow:0 0 0 4px #ffffff0a}.gatewayStateDot.online{background:#22c55e}.gatewayStateDot.offline,.gatewayStateDot.unknown{background:#ef4444}.gatewayGroupCreateRow{grid-template-columns:1fr auto;gap:12px;display:grid}.gatewayGroupCard{border:1px solid var(--border);background:var(--bg-soft);border-radius:18px;overflow:hidden}.gatewayGroupHeader{width:100%;color:var(--text-main);cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.gatewayGroupHeader:hover{background:var(--bg-soft-hover)}.gatewayGroupTitle{font-size:16px;font-weight:760}.gatewayGroupMeta{color:var(--text-soft);margin-top:4px;font-size:13px}.gatewayGroupChevron{color:var(--text-soft);font-size:18px}.gatewayGroupBody{gap:12px;padding:0 16px 16px;display:grid}@media (width<=900px){.gatewayToolbarSearchRow,.gatewayGroupCreateRow{grid-template-columns:1fr}}.gatewayToolbarSearchRow{grid-template-columns:1fr;align-items:start;gap:16px;display:grid}.gatewayGroupHeaderRight{align-items:center;gap:12px;display:flex}.gatewayGroupModalCard{max-width:720px}.gatewayGroupModalListWrap{gap:12px;display:grid}.gatewayGroupModalList{gap:12px;max-height:320px;padding-right:4px;display:grid;overflow-y:auto}.gatewayGroupCheckboxRow{justify-content:flex-start;align-items:flex-start}.gatewayGroupCheckboxRow>span{gap:4px;display:grid}.gatewayGroupCheckboxMeta{color:var(--text-soft);font-size:13px;font-weight:500;display:block}@media (width<=900px){.gatewayGroupHeaderRight{justify-content:space-between;width:100%}}.alarmManagementGrid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.alarmSettingsSection{grid-column:1/-1}.alarmHintBox{background:var(--bg-soft);border:1px solid var(--border);color:var(--text-soft);border-radius:16px;padding:14px 16px;line-height:1.55}.alarmToggleGrid,.alarmSettingsGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.alarmSubCard{padding:18px}.alarmSubCard .splitGrid{grid-template-columns:1fr}.alarmDownloadBox{border:1px solid var(--border);background:var(--bg-soft);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.alarmDownloadBox strong,.alarmDownloadBox span{display:block}.alarmDownloadBox strong{color:var(--text-main);font-size:14px}.alarmDownloadBox span{color:var(--text-soft);margin-top:3px;font-size:13px;line-height:1.4}.alarmDownloadButton{flex:none;text-decoration:none}.alarmEventList{gap:14px;display:grid}.alarmBulkBar{border:1px solid var(--border);background:var(--bg-soft);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding:10px 12px;display:flex}.alarmBulkSelection{align-items:center;gap:12px;min-width:0;display:flex}.alarmSelectAll,.alarmEventCheckbox{color:var(--text-main);align-items:center;gap:8px;font-weight:700;display:inline-flex}.alarmSelectAll input,.alarmEventCheckbox input{width:18px;height:18px;accent-color:var(--primary)}.alarmSelectionCount{color:var(--text-soft);white-space:nowrap;font-size:13px}.alarmBulkActionButton{border:1px solid var(--border);background:var(--card);min-height:38px;color:var(--text-main);cursor:pointer;border-radius:8px;padding:0 12px;font-weight:750}.alarmBulkActionButton:hover:not(:disabled){border-color:var(--primary);background:var(--bg-soft-hover)}.alarmBulkActionButton:disabled{cursor:not-allowed;opacity:.45}.alarmEventListRow{grid-template-columns:28px minmax(0,1fr);align-items:center;gap:10px;display:grid}.alarmEventListRow.withoutSelection{grid-template-columns:minmax(0,1fr)}.alarmEventListRow.selected .alarmEventListButton{border-color:var(--primary);background:var(--bg-soft-strong)}.alarmEventListButton{border:1px solid var(--border);background:var(--bg-soft);width:100%;min-height:76px;color:var(--text-main);text-align:left;cursor:pointer;border-radius:8px;grid-template-columns:42px minmax(0,1fr) 20px;align-items:center;gap:12px;padding:14px 16px;display:grid}.alarmEventListButton:hover{border-color:var(--primary);background:var(--bg-soft-strong)}.alarmEventListIcon{color:#ef4444;background:#ef444429;border-radius:999px;place-items:center;width:42px;height:42px;font-weight:900;display:grid}.alarmEventListBody{min-width:0}.alarmEventListArrow{color:var(--text-soft);font-size:28px;line-height:1}.alarmDetailActions{justify-content:flex-end;margin-top:18px}.alarmDetailModalCard{width:min(760px,100vw - 32px);max-height:calc(100vh - 32px);overflow:hidden}.alarmDetailHeader{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.alarmDetailMapFrame{border:1px solid var(--border);background:var(--bg-soft);border-radius:8px;height:min(420px,52vh);overflow:hidden}.alarmDetailMap{border:0;width:100%;height:100%}.alarmDetailMapFallback{height:100%;color:var(--text-soft);text-align:center;place-items:center;padding:20px;display:grid}.alarmModeTabs{flex-wrap:wrap;gap:8px;display:flex}.alarmModeTab{border:1px solid var(--border);background:var(--bg-soft);min-height:36px;color:var(--text-soft);cursor:pointer;border-radius:999px;padding:0 12px;font-size:13px;font-weight:750}.alarmModeTab:hover,.alarmModeTab.active{border-color:var(--primary-border-strong);background:var(--primary-soft);color:var(--text-main)}.alarmDetailGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.alarmDetailItem{border:1px solid var(--border);background:var(--bg-soft);border-radius:8px;padding:14px}.alarmDetailItem strong{color:var(--text-main);margin-top:5px;display:block}.alarmStatusBadge{text-transform:uppercase}.alarmStatus-sent{color:#8ee3a0;background:#53c26b24;border-color:#53c26b38}.alarmStatus-failed{color:#faa;background:#ff7f7f24;border-color:#ff7f7f38}.alarmStatus-scheduled{color:#ffcf7e;background:#ffb84d24;border-color:#ffb84d38}.alarmStatus-reset{color:#a9c3ff;background:#7ca2ff24;border-color:#7ca2ff38}@media (width<=980px){.alarmManagementGrid,.alarmToggleGrid,.alarmSettingsGrid,.alarmDetailGrid{grid-template-columns:1fr}.alarmDownloadBox{flex-direction:column;align-items:flex-start}.ortungOverlayControls{grid-template-columns:1fr}.ortungMapboxContainer{min-height:420px}}.mobileOrtungPage{background:var(--bg);min-height:100vh;padding:0;overflow-x:hidden}.mobileOrtungPage .topBar{border-radius:0;margin:0}.mobileOrtungPage .ortungStatusCard,.mobileOrtungPage .ortungControlCard{display:none}.mobileOrtungPage .ortungDemoCard{border-left:0;border-right:0;border-radius:0;margin:0}.mobileOrtungPage .ortungDemoCard .subtle,.mobileOrtungPage .ortungDemoCard .infoPill{display:none}.mobileOrtungPage .ortungLiveLayout{grid-template-columns:1fr;gap:0}.mobileOrtungPage .ortungLiveSideColumn,.mobileOrtungPage .ortungMapControls,.mobileOrtungPage .ortungDemoCard+section{display:none}.mobileOrtungPage .ortungMapboxCard{border-left:0;border-right:0;border-radius:0;margin:0}.mobileOrtungPage .ortungMapboxContainer{min-height:calc(100vh - 112px)}
