.landing-page{width:100%;display:block;min-height:calc(100vh - 10rem);padding:0;overflow-x:hidden}.landing-page.dashboard{display:flex;justify-content:center}.landing-page.dashboard>div{width:70%;margin:auto}.landing-page.dashboard>div .filter-card .ant-card-body{text-align:center;padding:3rem 2.5rem}.landing-page .filter-card{border-radius:.625rem;background:#eff2f7;height:100%}.landing-page .filter-card .ant-card-body{padding:1.25rem;box-shadow:.625rem .625rem .625rem rgba(72,81,98,.0509803922),2rem 2rem 2rem rgba(69,77,89,.0509803922);height:100%}.landing-page .filter-card .ant-card-body .ant-radio-group{margin:-.4rem}.landing-page .filter-card .ant-card-body .ant-radio-group .ant-radio-button-wrapper{color:#888;background:#f2f5fa;box-shadow:.3125rem .3125rem .625rem #dfe5ee;border-radius:.625rem;border:none;font-size:.875rem;font-weight:600;line-height:2.6;height:2.375rem;margin:.4rem;padding:0 1.5rem}.landing-page .filter-card .ant-card-body .ant-radio-group .ant-radio-button-wrapper:before{display:none}.landing-page .filter-card .ant-card-body .ant-radio-group .ant-radio-button-wrapper.ant-radio-button-wrapper-checked{color:#40cc52;box-shadow:inset -.5rem -.5rem .625rem hsla(0,0%,100%,.5019607843),inset .5rem .5rem .625rem rgba(176,179,195,.2509803922)}.landing-page .filter-card .ant-card-body .ant-select{min-height:3rem;width:100%}.landing-page .filter-card .ant-card-body .ant-select .ant-select-selector{border:2px solid #c5d2e9!important;background:#eff2f7;border-radius:1rem;font-size:.875rem;padding:.5rem 2rem .5rem .5rem;height:100%}.landing-page .filter-card .ant-card-body .ant-select .ant-select-selector:hover{box-shadow:inset -.5rem -.5rem .625rem hsla(0,0%,100%,.5019607843),inset .5rem .5rem .625rem rgba(176,179,195,.2509803922)}.landing-page .filter-card .ant-card-body .ant-select .ant-select-arrow{font-size:1rem}.landing-page .filter-card .ant-card-body .date-range-picker{background:#eff2f7;border-radius:1rem;height:100%;padding:.7rem;font-size:.875rem;border:2px solid #c5d2e9!important;width:100%}.landing-page .filter-card .ant-card-body .ant-input-affix-wrapper{border:2px solid #c5d2e9!important;background:#eff2f7;border-radius:1rem;font-size:.875rem;padding:.5rem;height:3rem}.landing-page .filter-card.export-card{background:inherit}.landing-page .filter-card.export-card .ant-card-body{box-shadow:none;padding:0}.landing-page .filter-card.driver-card .ant-card-body{padding:1.25rem 2rem;text-align:center}.landing-page .filter-card.driver-card .ant-card-body h3{line-height:1.5;margin:.5rem auto}.landing-page .summary-card{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;grid-gap:1rem}.landing-page .summary-card.col-span-3{grid-template-columns:1fr 1fr 1fr}.landing-page .summary-card.col-span-5{grid-template-columns:1fr 1fr 1fr 1fr 1fr}.landing-page .summary-card.col-span-6{grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr}.landing-page .summary-card.col-span-7{grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr 1fr}.landing-page .summary-card.col-span-8{grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr}.landing-page .summary-card .data-card .ant-card-body{padding:1rem}.landing-page .data-card{border-radius:.625rem;background:#e7ebef;width:100%;height:100%;border:2px solid #c5d2e9;overflow:hidden}.landing-page .data-card.no-padding>.ant-card-body{padding:0}.landing-page .data-card.obd-card{height:calc(100vh - 48px);overflow-y:auto}.landing-page .data-card .card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.landing-page .data-card .card-title{font-size:1.125rem;font-weight:500}.landing-page .data-card .iframe-container{width:100%;height:350px;overflow-y:auto;border-radius:10px;scrollbar-width:2px;scrollbar-color:#a0a6b4 rgba(0,0,0,0)}.landing-page .data-card .iframe-container::-webkit-scrollbar{width:2px}.landing-page .data-card .iframe-container::-webkit-scrollbar-track{background:rgba(0,0,0,0);border-radius:10px}.landing-page .data-card .iframe-container::-webkit-scrollbar-thumb{background:#a0a6b4;border-radius:10px}.landing-page .data-card .iframe-container::-webkit-scrollbar-thumb:hover{background:#8a8f9a}.landing-page .data-card .iframe-container iframe{border-radius:10px 0 0 10px;border:none;min-height:600px}.landing-page .data-card.video-card .iframe-container{height:640px;overflow:hidden}.landing-page .data-card.video-card .iframe-container iframe{height:100%;min-height:0;border-radius:10px}.landing-page .data-card .data-card-title{font-size:1rem}.landing-page .data-card h4{margin-bottom:2rem;padding-bottom:1rem;font-weight:500;border-bottom:1px solid #c5d2e9}.landing-page .data-card .ant-card-body{text-align:center;padding:1rem}.landing-page .data-card .ant-card-body h2{margin:.5rem auto 0}.landing-page .data-card.no-padding .ant-card-body{padding:0}.landing-page .data-card.pie-chart .ant-card-body{padding:1.5rem 2rem 2rem}.landing-page .data-card.status-completed *{color:#40cc52}.landing-page .data-card.data-table .ant-card-body{padding:0}.landing-page .data-card.data-table .ant-table th{padding:0 1rem}.landing-page .data-card.data-table .ant-table .even-row{background-color:#f1f3f6}.landing-page .data-card.data-table .ant-table .odd-row{background-color:#e7ebef}.landing-page .data-card.data-table .ant-table .even-row:hover,.landing-page .data-card.data-table .ant-table .odd-row:hover{background-color:#fdfdfd!important}.landing-page .data-card.data-table.realtime-table .ant-card-body{background-color:#fff}.landing-page .data-card.data-table.realtime-table th{padding:1rem;font-weight:600}.landing-page .data-card.data-table.realtime-table .ant-select-selector{padding:.8rem .5rem;border:none}.landing-page .data-card.data-table.realtime-table .ant-table-tbody td{padding:.88rem 1rem}.landing-page .data-card.data-table.realtime-table .ant-table-tbody input{font-size:.875rem;border:none;box-shadow:none;outline:none;background-color:inherit}.landing-page .data-card .js-plotly-plot{width:100%}.landing-page .data-card .js-plotly-plot .plot-container{display:flex;justify-content:center}.landing-page .data-card ul{margin:2rem;line-height:2;font-size:1rem}.landing-page .data-card.no-border{border:none}.landing-page .data-card.no-border .ant-card-body{text-align:left}.landing-page .rx-live-picker{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.landing-page .data-card.rx-live-card .ant-card-body{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;min-height:470px;padding:1.5rem}.landing-page .data-card.rx-live-card .rx-live-head{display:flex;align-items:center;gap:.75rem}.landing-page .data-card.rx-live-card .rx-live-dot{font-size:.6875rem;font-weight:600;letter-spacing:.06em;padding:.125rem .5rem;border-radius:999px}.landing-page .data-card.rx-live-card .rx-live-dot.is-live{color:#1f7a33;background:rgba(64,204,82,.18);animation:rx-live-pulse 1.8s ease-in-out infinite}.landing-page .data-card.rx-live-card .rx-live-dot.is-demo{color:#9a6200;background:rgba(255,149,0,.18);animation:rx-live-pulse 1.8s ease-in-out infinite}.landing-page .data-card.rx-live-card .rx-live-dot.is-down{color:#8a8f9a;background:rgba(138,143,154,.18)}.landing-page .data-card.rx-live-card .rx-live-value{font-size:5rem;font-weight:600;line-height:1.05;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:.5rem}.landing-page .data-card.rx-live-card .rx-live-unit{font-size:1.5rem;font-weight:500;opacity:.7}.landing-page .data-card.rx-live-card .rx-live-band{font-size:.8125rem;color:#8a8f9a}.landing-page .data-card.rx-live-card .rx-live-stats{display:flex;gap:2rem;margin-top:.75rem;padding-top:1rem;border-top:1px solid #c5d2e9;width:100%;justify-content:center}.landing-page .data-card.rx-live-card .rx-live-stats div{display:flex;flex-direction:column;gap:.125rem}.landing-page .data-card.rx-live-card .rx-live-stats span{font-size:.75rem;color:#8a8f9a}.landing-page .data-card.rx-live-card .rx-live-stats strong{font-size:1.125rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.landing-page .data-card.rx-live-card .rx-live-foot{font-size:.75rem;color:#8a8f9a;margin-top:.5rem}.landing-page .cam-statusbar{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;font-size:.875rem}.landing-page .cam-conn{font-weight:600}.landing-page .cam-conn:before{content:"";display:inline-block;width:.5rem;height:.5rem;border-radius:50%;margin-right:.375rem;vertical-align:middle}.landing-page .cam-conn.is-up:before{background:#40cc52}.landing-page .cam-conn.is-demo:before{background:#ff9500}.landing-page .cam-conn.is-down:before{background:#8a8f9a}.landing-page .cam-flagged-count{color:#d4380d;font-weight:600}.landing-page .cam-alert-overlay{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding:.875rem 1.125rem;border-radius:.625rem;border:2px solid;background:#fff;box-shadow:0 6px 20px rgba(16,24,40,.12);animation:cam-alert-in .26s ease-out}.landing-page .cam-alert-overlay .cam-alert-body{display:flex;flex-direction:column;gap:.125rem;flex:1 1;min-width:220px;text-align:left}.landing-page .cam-alert-overlay .cam-alert-body strong{font-size:1rem}.landing-page .cam-alert-overlay .cam-alert-body span{font-size:.8125rem;color:#5a6270}.landing-page .cam-alert-overlay .cam-alert-actions{display:flex;gap:.5rem}.landing-page .cam-alert-flag{animation:rx-live-pulse 1.4s ease-in-out infinite}.landing-page .data-card.cam-tile{cursor:pointer}.landing-page .data-card.cam-tile .ant-card-body{padding:.75rem;text-align:left}.landing-page .data-card.cam-tile.is-flagged{box-shadow:0 0 0 3px rgba(212,56,13,.14)}.landing-page .data-card.cam-tile .cam-tile-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.landing-page .data-card.cam-tile .cam-tile-name{font-weight:600;font-size:.875rem}.landing-page .data-card.cam-tile .cam-tile-dot{width:.5rem;height:.5rem;border-radius:50%}.landing-page .data-card.cam-tile .cam-tile-dot.is-clear{background:#40cc52}.landing-page .data-card.cam-tile .cam-tile-dot.is-alert{background:#d4380d;animation:rx-live-pulse 1.2s ease-in-out infinite}.landing-page .data-card.cam-tile .cam-tile-foot{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.5rem;font-size:.75rem}.landing-page .data-card.cam-tile .cam-tile-loc{color:#5a6270}.landing-page .data-card.cam-tile .cam-tile-clear{color:#8a8f9a}.cam-alert-flag,.cam-flag{color:#fff;font-size:.6875rem;font-weight:700;letter-spacing:.06em;padding:.1875rem .5rem;border-radius:.25rem;white-space:nowrap}.cam-surface{position:relative;width:100%;aspect-ratio:16/9;border-radius:.5rem;overflow:hidden;background:#11161d}.cam-surface-media{width:100%;height:100%;border:none;display:block;object-fit:cover}.cam-scene{position:absolute;inset:0;overflow:hidden}.cam-scene .cam-scene-wall{position:absolute;inset:0 0 46% 0;background:linear-gradient(hsl(var(--cam-hue),18%,13%),hsl(var(--cam-hue),16%,22%))}.cam-scene .cam-scene-floor{position:absolute;inset:54% 0 0 0;background:linear-gradient(hsl(var(--cam-hue),12%,20%),hsl(var(--cam-hue),10%,9%));perspective:220px;overflow:hidden}.cam-scene .cam-scene-grid{position:absolute;inset:-60% -40% -20% -40%;transform:rotateX(72deg);transform-origin:50% 100%;background-image:linear-gradient(rgba(255,255,255,.11) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.11) 1px,transparent 0);background-size:42px 42px}.cam-scene .cam-scene-pool{position:absolute;left:18%;top:40%;width:64%;height:52%;border-radius:50%;background:radial-gradient(ellipse at center,hsl(var(--cam-hue),40%,62%,.2),transparent 70%)}.cam-scene .cam-scene-fixture{position:absolute;bottom:16%;width:13%;height:27%;background:linear-gradient(hsl(var(--cam-hue),10%,26%),hsl(var(--cam-hue),10%,14%));border-radius:2px;box-shadow:0 6px 14px rgba(0,0,0,.45)}.cam-scene .cam-scene-fixture.is-left{left:7%;height:22%}.cam-scene .cam-scene-fixture.is-right{right:9%;height:31%}.cam-scene .cam-scene-scanlines{position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 3px)}.cam-scene .cam-scene-vignette{position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 45%,rgba(0,0,0,.55) 100%)}.cam-osd{position:absolute;left:.5rem;right:.5rem;display:flex;align-items:center;justify-content:space-between;color:#fff;font-size:.625rem;letter-spacing:.04em;text-shadow:0 1px 2px rgba(0,0,0,.8);pointer-events:none}.cam-osd.cam-osd-top{top:.375rem}.cam-osd.cam-osd-bottom{bottom:.375rem;justify-content:flex-end}.cam-osd-rec{display:inline-flex;align-items:center;gap:.25rem;font-weight:700}.cam-osd-rec i{width:.375rem;height:.375rem;border-radius:50%;background:#ff3b30;animation:cam-rec-blink 1s steps(1) infinite}.cam-bbox{position:absolute;border:2px solid;border-radius:2px}.cam-bbox .cam-bbox-label{top:0;left:-2px;transform:translateY(-100%);color:#fff;font-size:.625rem;font-weight:600;border-radius:2px 2px 0 0}.cam-bbox .cam-bbox-label,.cam-bbox .cam-bbox-meta{position:absolute;padding:.0625rem .25rem;white-space:nowrap}.cam-bbox .cam-bbox-meta{bottom:.25rem;left:.25rem;font-size:.5625rem;color:#e6edf5;background:rgba(0,0,0,.6);border-radius:2px}.cam-display-modal .cam-display-title{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap}.cam-display-modal .cam-live-badge{background:#d4380d;color:#fff;font-size:.625rem;font-weight:700;letter-spacing:.08em;padding:.125rem .375rem;border-radius:.25rem;animation:rx-live-pulse 1.4s ease-in-out infinite}.cam-display-modal .cam-display-loc{color:#5a6270;font-weight:400}.cam-display-modal .cam-display-meta{color:#8a8f9a;font-size:.75rem;font-weight:400;margin-left:auto}.cam-display-modal .cam-display-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:.75rem;font-size:.8125rem}.cam-display-modal .cam-display-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer}.cam-display-modal .cam-display-count{color:#8a8f9a}.cam-display-modal .cam-display-alert{margin-top:.75rem;padding:.75rem .875rem;border-left:3px solid;border-radius:.375rem;background:#f2f5f9}.cam-display-modal .cam-display-alert-head{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap;margin-bottom:.5rem}.cam-display-modal .cam-display-alert-meta{font-size:.75rem;color:#5a6270}.cam-display-modal .cam-display-alert-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.cam-display-modal .cam-status{font-size:.625rem;font-weight:700;letter-spacing:.06em;padding:.125rem .375rem;border-radius:.25rem;margin-right:.25rem}.cam-display-modal .cam-status.is-new{background:rgba(212,56,13,.15);color:#a8290a}.cam-display-modal .cam-status.is-acknowledged{background:rgba(212,136,6,.15);color:#8a5800}.cam-display-modal .cam-status.is-dispatched{background:rgba(70,59,189,.15);color:#3a319c}.cam-display-modal .cam-status.is-resolved{background:rgba(64,204,82,.18);color:#1f7a33}@keyframes rx-live-pulse{0%,to{opacity:1}50%{opacity:.45}}@keyframes cam-alert-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}@keyframes cam-rec-blink{0%,49%{opacity:1}50%,to{opacity:.15}}.map-view-card{border-radius:.625rem;background:#e7ebef;width:100%;border:2px solid #c5d2e9;overflow:hidden}.map-view-card .ant-card-body{padding:0}.map-view-card .js-plotly-plot{display:block!important;width:100%;border-radius:.625rem;height:33.8rem}.map-view-card .js-plotly-plot .plot-container{display:flex;justify-content:center}.map-view-card.payment-map-view .js-plotly-plot{height:51.4rem}.table-label{width:40%;font-weight:500}.table-label,.table-value{display:table-cell;padding:8px;border-bottom:1px solid #f0f0f0}.table-value{width:60%}.export-btn{width:3.75rem;height:3.75rem;margin:auto;padding:.625rem;color:#91a5c6;text-align:center;box-sizing:border-box;background:#f2f5fa;box-shadow:.3125rem .3125rem .625rem #dfe5ee;border-radius:.625rem;border:none}.mapboxgl-ctrl-attrib.mapboxgl-compact,a.mapboxgl-ctrl-logo{display:none!important}@media(max-width:48rem){.landing-page.dashboard>div{width:100%}.landing-page.dashboard>div .filter-card .ant-card-body{padding:1rem}.landing-page .summary-card{grid-template-columns:1fr!important}.obd-layout-row .obd-content-col,.obd-layout-row .obd-sidebar-col{max-width:100%;flex:0 0 100%}.obd-layout-row .obd-sidebar-col{order:1;background-color:#fff}.obd-layout-row .obd-content-col{order:2}.obd-sidebar-header{padding-left:0!important;padding-right:0!important}.obd-applications-menu{width:100%}.obd-applications-menu .ant-menu-item,.obd-applications-menu .ant-menu-submenu-title{margin-inline:0!important;width:100%}.obd-card-title-row{flex-direction:column;align-items:flex-start!important;gap:.75rem}.google-map-toolbar{flex-direction:column;align-items:stretch!important}.google-map-toolbar-left,.google-map-toolbar-right{width:100%;display:flex;flex-wrap:wrap;gap:.5rem}.google-map-toolbar-label{width:100%}.google-map-location-search,.google-map-style-select{width:100%!important;min-width:0!important}.google-map-location-search .ant-select-selector,.google-map-style-select .ant-select-selector{width:100%!important}}