@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap";:root{font-family:DM Sans,PingFang SC,Microsoft YaHei,sans-serif;color:#182623;background:#f4f7f3;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #182623;--muted: #73817b;--subtle: #9aa69f;--line: #e3eae4;--panel: #ffffff;--forest: #173d35;--green: #3fbe7d;--lime: #d8ef89;--peach: #fae2d2;--lavender: #e9e7fb;--sky: #dcecf3}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f4f7f3}button,input{font:inherit;letter-spacing:0}button{border:0;cursor:pointer}button:focus-visible,input:focus-visible{outline:3px solid rgba(63,190,125,.26);outline-offset:2px}.app-shell{display:flex;min-height:100vh}.sidebar{width:246px;flex:0 0 246px;min-height:100vh;padding:28px 18px 20px;display:flex;flex-direction:column;color:#e8f1ea;background:var(--forest)}.brand{display:flex;align-items:center;gap:12px;padding:0 12px;margin-bottom:58px}.brand-symbol{width:36px;height:36px;display:grid;place-items:center;color:var(--forest);background:var(--lime);border-radius:10px;font-size:21px}.brand strong{display:block;font-family:Space Grotesk,sans-serif;font-size:19px;line-height:1;letter-spacing:0}.brand span{display:block;margin-top:5px;color:#91aea3;font-size:9px;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}.sidebar-label{margin:0 12px 12px;color:#78998c;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.main-nav{display:grid;gap:6px}.nav-item{min-height:48px;display:flex;align-items:center;gap:13px;padding:0 14px;color:#a7c0b5;background:transparent;border-radius:10px;text-align:left;font-size:14px;transition:background .2s,color .2s}.nav-item:hover{color:#fff;background:#ffffff12}.nav-item.active{color:#18372f;background:var(--lime);font-weight:700}.nav-icon{width:19px;display:grid;place-items:center;font-size:16px}.nav-item em{min-width:20px;height:20px;display:grid;place-items:center;margin-left:auto;color:#fff;background:#db7356;border-radius:10px;font-size:11px;font-style:normal}.nav-item.active em{color:#fff;background:#648d54}.sidebar-spacer{flex:1;min-height:48px}.sidebar-help{display:flex;align-items:center;gap:10px;padding:14px 10px;margin-bottom:18px;color:#bdd0c6;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-help .help-icon{width:29px;height:29px;display:grid;place-items:center;color:var(--lime);border:1px solid rgba(216,239,137,.3);border-radius:8px}.sidebar-help strong,.sidebar-help span{display:block}.sidebar-help strong{color:#edf5ef;font-size:11px}.sidebar-help span{margin-top:3px;color:#82a296;font-size:10px}.sidebar-help>.anticon{margin-left:auto;color:#78998c;font-size:12px}.sidebar-user{display:flex;align-items:center;gap:10px;padding:6px 8px}.avatar{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;color:#205445;background:#d9efce;border-radius:50%;font-family:Space Grotesk,sans-serif;font-weight:700}.avatar-small{width:30px;height:30px;flex-basis:30px;color:#163f35;background:#d9ec9a;font-size:12px}.user-copy{min-width:0;flex:1}.user-copy strong,.user-copy span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-copy strong{color:#edf5ef;font-size:12px}.user-copy span{margin-top:2px;color:#82a296;font-size:10px}.workspace{min-width:0;flex:1}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 44px;background:#ffffffe6;border-bottom:1px solid var(--line)}.breadcrumb{display:flex;align-items:center;gap:12px;color:#8a9791;font-size:12px}.breadcrumb strong{color:var(--ink);font-weight:600}.breadcrumb-separator{color:#c3cdc6}.topbar-actions{display:flex;align-items:center;gap:16px}.icon-button,.notification-button,.more-button,.mobile-menu{width:36px;height:36px;display:grid;place-items:center;color:#64746d;background:transparent;border-radius:9px;font-size:16px}.icon-button:hover,.notification-button:hover,.more-button:hover,.mobile-menu:hover{color:var(--forest);background:#edf3ed}.icon-button.subtle{color:#779086}.notification-button{position:relative;font-size:17px}.notification-button i{position:absolute;top:7px;right:7px;width:6px;height:6px;background:#e26d50;border:1.5px solid #fff;border-radius:50%}.profile-trigger{display:flex;align-items:center;gap:9px;color:var(--ink);background:transparent;font-size:12px;font-weight:600}.profile-trigger:hover .avatar{box-shadow:0 0 0 3px #e8f2d0}.demo-pill{display:flex;align-items:center;gap:7px;padding:8px 11px;color:#6d6651;background:#f7f1db;border:1px solid #ebe2bf;border-radius:8px;font-size:10px;font-weight:600}.demo-dot{width:6px;height:6px;background:#c79a47;border-radius:50%}.mobile-menu{display:none}.content-wrap{width:min(100%,1480px);padding:42px 44px 68px;margin:0 auto}.page-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:31px}.page-intro h1{margin:6px 0 0;color:var(--ink);font-family:Space Grotesk,sans-serif;font-size:clamp(28px,3vw,39px);font-weight:600;line-height:1.13}.eyebrow{margin:0;color:#6f8e7f;font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.title-mark{color:#73bd66}.intro-copy{max-width:500px;margin:13px 0 0;color:#819088;font-size:13px;line-height:1.7}.intro-date{min-width:165px;padding:10px 0 3px 24px;border-left:1px solid var(--line);text-align:right}.intro-date span,.intro-date strong{display:block}.intro-date span{color:#9aa69f;font-size:11px}.intro-date strong{margin-top:5px;color:#52675e;font-size:13px;font-weight:600}.compact-intro{align-items:center}.title-count{display:inline-flex;align-items:center;min-height:27px;padding:0 10px;margin-left:9px;color:#6f8e7f;background:#eaf1e8;border-radius:8px;vertical-align:middle;font-family:DM Sans,sans-serif;font-size:12px;font-weight:600}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.stat-card{min-height:135px;padding:20px 21px 18px;border:1px solid transparent;border-radius:13px}.stat-card.mint{background:#e3f0df;border-color:#d5e8cf}.stat-card.peach{background:var(--peach);border-color:#f1d8c5}.stat-card.lavender{background:var(--lavender);border-color:#dcdbf2}.stat-card.sky{background:var(--sky);border-color:#d1e3e9}.stat-top{display:flex;align-items:center;gap:8px;color:#708279;font-size:11px}.stat-icon{width:26px;height:26px;display:grid;place-items:center;color:#397c62;background:#ffffff94;border-radius:8px;font-size:14px}.peach .stat-icon{color:#c1755a}.lavender .stat-icon{color:#7775b1}.sky .stat-icon{color:#4d8aa2}.stat-card strong{display:block;margin-top:16px;color:var(--ink);font-family:Space Grotesk,sans-serif;font-size:26px;font-weight:600}.stat-card small{display:block;margin-top:5px;color:#7d8a83;font-size:10px}.stat-action{width:23px;height:23px;display:grid;place-items:center;margin-left:auto;color:#a96b51;background:#ffffff8f;border-radius:50%;font-size:11px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.63fr) minmax(290px,.82fr);gap:18px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:13px;box-shadow:0 2px 10px #1c3f2d06}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.panel-heading h2,.device-section-head h2{margin:6px 0 0;color:var(--ink);font-family:Space Grotesk,sans-serif;font-size:18px;font-weight:600}.panel-heading h2{font-size:17px}.map-panel{min-height:441px;padding:25px 25px 17px}.map-legend{display:flex;align-items:center;gap:12px;color:#829087;font-size:10px}.map-legend span{display:flex;align-items:center;gap:5px}.legend-dot{width:6px;height:6px;border-radius:50%}.legend-dot.online{background:#4ac17d}.legend-dot.offline{background:#b2bbb5}.map-surface{position:relative;height:323px;overflow:hidden;margin-top:22px;background-color:#eef4ee;background-image:linear-gradient(#e0ebe1 1px,transparent 1px),linear-gradient(90deg,#e0ebe1 1px,transparent 1px);background-size:46px 46px;border:1px solid #e0eae0;border-radius:9px}.map-water{position:absolute;right:-7%;bottom:-30%;width:46%;height:64%;background:#dcecf0;border:1px solid #d0e5e6;border-radius:53% 0 0;transform:rotate(-12deg);opacity:.86}.road{position:absolute;display:block;height:5px;background:#fbfcf6;border:1px solid #d6e3d6;border-radius:6px;transform-origin:left center;opacity:.92}.road-one{width:93%;left:-8%;top:56%;transform:rotate(-12deg)}.road-two{width:81%;left:9%;top:16%;transform:rotate(39deg)}.road-three{width:83%;left:24%;top:79%;transform:rotate(-42deg)}.road-four{width:68%;left:-3%;top:80%;transform:rotate(-31deg)}.road-five{width:66%;left:53%;top:13%;transform:rotate(74deg)}.map-label{position:absolute;z-index:1;color:#9aa9a0;font-size:10px;font-weight:600}.city-one{left:28%;top:28%}.city-two{left:52%;top:58%}.city-three{left:74%;top:71%}.map-marker{position:absolute;z-index:4;width:42px;height:42px;display:grid;place-items:center;background:transparent;transform:translate(-50%,-50%)}.marker-pin{position:relative;z-index:2;width:30px;height:30px;display:grid;place-items:center;color:#fff;background:#54b879;border:3px solid #fff;border-radius:50% 50% 50% 3px;box-shadow:0 3px 10px #23754f40;transform:rotate(-45deg)}.marker-pin .anticon{transform:rotate(45deg);font-size:13px}.map-marker.offline .marker-pin{color:#fff;background:#a7b2aa;box-shadow:none}.map-marker.selected .marker-pin{background:#1d5445}.marker-pulse{position:absolute;width:39px;height:39px;background:#56bd7b30;border-radius:50%;animation:pulse 2.4s infinite}.map-marker.offline .marker-pulse{display:none}.marker-label{position:absolute;top:39px;left:50%;min-width:max-content;padding:4px 7px;color:#547064;background:#ffffffe0;border:1px solid rgba(222,233,224,.9);border-radius:4px;font-size:9px;transform:translate(-50%);opacity:.9}.map-marker.selected .marker-label{color:#1d5445;border-color:#afd1b6;font-weight:700}.map-controls{position:absolute;right:11px;bottom:11px;z-index:5;display:grid;overflow:hidden;background:#ffffffeb;border:1px solid #dae6dd;border-radius:6px;box-shadow:0 2px 8px #27453214}.map-controls button{width:28px;height:27px;color:#66796f;background:transparent;border-bottom:1px solid #e7eee7;font-size:14px}.map-controls button:last-child{border:0}.map-controls button:hover{color:#1b5645;background:#f1f7f0}.map-scale{position:absolute;left:12px;bottom:14px;z-index:5;color:#9aa9a0;font-size:9px}.map-scale span{display:inline-block;width:13px;height:4px;border-top:2px solid #91a49a;border-left:1px solid #91a49a}.map-scale span+span{border-right:1px solid #91a49a;border-left:0}.map-scale small{margin-left:5px;font-size:9px}.map-footer{display:flex;align-items:center;justify-content:space-between;padding-top:13px}.map-current{color:#789086;font-size:10px}.map-current small{color:#a1ada6}.current-pulse{display:inline-block;width:6px;height:6px;margin-right:6px;background:#55bf7e;border-radius:50%}.text-button{display:inline-flex;align-items:center;gap:7px;padding:7px 0;color:#4d8f6d;background:transparent;font-size:11px;font-weight:600}.text-button:hover{color:#1f5946}.text-button .anticon{font-size:10px}.activity-panel{min-height:441px;padding:25px 22px 17px}.more-button{flex:0 0 30px;width:30px;height:30px}.activity-list{min-height:298px;padding-top:22px}.activity-item{display:flex;align-items:center;gap:10px;padding:14px 0;border-bottom:1px solid #edf1ed}.activity-item:first-child{padding-top:0}.activity-icon{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;font-size:13px}.activity-icon.warning{color:#c27d55;background:#fae9d9}.activity-icon.critical{color:#c95e57;background:#f9dcd7}.activity-icon.info{color:#5989a0;background:#dfedf2}.activity-copy{min-width:0;flex:1}.activity-copy strong,.activity-copy span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-copy strong{color:#31453d;font-size:11px;font-weight:600}.activity-copy span{margin-top:4px;color:#8a9890;font-size:10px}.activity-time{color:#a0aba4;font-size:10px;text-align:right}.activity-time small{display:block;margin-top:4px;color:#c1775e;font-size:9px}.activity-link{display:flex;align-items:center;justify-content:space-between;width:100%;padding:13px 0 0;color:#518c6d;background:transparent;border-top:1px solid #edf1ed;font-size:11px;font-weight:600}.activity-link:hover{color:#234f40}.device-section-head{display:flex;align-items:flex-end;justify-content:space-between;margin:37px 0 17px}.device-section-head h2 span{display:inline-grid;width:21px;height:21px;place-items:center;margin-left:5px;color:#70947f;background:#e6f0e5;border-radius:6px;font-family:DM Sans,sans-serif;font-size:10px;vertical-align:2px}.device-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(180px,.72fr);gap:14px}.device-summary-card,.add-device-card{min-height:166px;padding:17px 17px 15px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:12px;text-align:left;transition:border-color .2s,box-shadow .2s,transform .2s}.device-summary-card:hover{border-color:#b7d6be;box-shadow:0 7px 18px #30674614;transform:translateY(-2px)}.device-summary-card.selected{border-color:#84bd91;box-shadow:0 0 0 2px #6fbc7a1f}.device-summary-top{display:flex;align-items:center;gap:6px;color:#819189;font-size:10px}.device-status-dot{width:6px;height:6px;border-radius:50%}.device-status-dot.online{background:#55be7d}.device-status-dot.offline{background:#aeb8b1}.device-more{margin-left:auto;color:#abb7b0;font-size:14px}.device-summary-body{display:flex;align-items:center;gap:11px;margin-top:17px}.device-summary-body strong,.device-summary-body small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-summary-body strong{max-width:155px;color:#314940;font-size:12px;font-weight:600}.device-summary-body small{margin-top:5px;color:#97a39c;font-size:9px}.device-illustration{position:relative;width:39px;height:39px;flex:0 0 39px;display:grid;place-items:center;color:#3d8b69;background:#e8f3e8;border-radius:10px}.device-illustration span{font-size:20px}.device-illustration i{position:absolute;right:3px;bottom:3px;width:6px;height:6px;background:#55be7d;border:1px solid #fff;border-radius:50%}.device-summary-stats{display:flex;align-items:center;gap:10px;padding-top:16px;margin-top:15px;color:#819088;border-top:1px solid #edf1ed;font-size:9px}.device-summary-stats span{white-space:nowrap}.device-summary-stats .anticon{margin-right:3px;color:#75a584}.add-device-card{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#779083;background:#f6f9f5;border-style:dashed;border-color:#c8d8c9;text-align:center}.add-device-card:hover{color:#2d7655;background:#eef7ec;border-color:#84bd91}.add-device-icon{width:31px;height:31px;display:grid;place-items:center;margin-bottom:9px;color:#62a875;background:#e2f1e1;border-radius:9px}.add-device-card strong{font-size:11px}.add-device-card>span:last-child{margin-top:5px;color:#a1aca6;font-size:9px}.primary-button,.secondary-button,.outline-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:39px;padding:0 16px;border-radius:8px;font-size:12px;font-weight:600;transition:background .2s,border-color .2s,color .2s}.primary-button{color:#173c32;background:var(--lime)}.primary-button:hover{background:#c8e573}.primary-button:disabled{cursor:wait;opacity:.65}.secondary-button{color:#596d63;background:#edf3ed}.secondary-button:hover{background:#e3ece4}.outline-button{min-height:31px;padding:0 10px;color:#4c8d6a;background:#fff;border:1px solid #c5ddc8;font-size:10px}.outline-button:hover{background:#f1f8f0;border-color:#83bd91}.full{width:100%}.device-layout{display:grid;grid-template-columns:minmax(300px,.88fr) minmax(390px,1.3fr);gap:18px;align-items:start}.device-list-panel{min-height:580px;padding:18px}.list-toolbar{display:flex;align-items:center;gap:9px;padding-bottom:16px;border-bottom:1px solid #edf1ed}.search-input{min-width:0;flex:1;display:flex;align-items:center;gap:8px;height:37px;padding:0 11px;color:#99a49e;background:#f5f8f4;border:1px solid #e9eee8;border-radius:8px}.search-input:focus-within{background:#fff;border-color:#b6d7bd}.search-input input{min-width:0;flex:1;color:var(--ink);background:transparent;border:0;outline:0;font-size:11px}.search-input input::placeholder{color:#aab4ae}.device-list{display:grid}.device-list-row{min-height:74px;display:flex;align-items:center;gap:11px;padding:11px 8px;color:var(--ink);background:transparent;border-bottom:1px solid #edf1ed;text-align:left}.device-list-row:hover,.device-list-row.selected{background:#f3f8f1}.device-list-row.selected{border-left:2px solid #6db579;padding-left:6px}.device-list-avatar{width:35px;height:35px;flex:0 0 35px;display:grid;place-items:center;color:#779e83;background:#e8f1e6;border-radius:10px;font-size:16px}.device-list-avatar.is-online{color:#388366;background:#e0f1e3}.device-list-avatar.mini{width:25px;height:25px;flex-basis:25px;border-radius:7px;font-size:12px}.device-list-copy{min-width:0;flex:1}.device-list-copy strong,.device-list-copy span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-list-copy strong{color:#355046;font-size:11px}.device-list-copy span{margin-top:4px;color:#9aa69f;font-size:9px}.device-list-value{text-align:right}.device-list-value strong,.device-list-value span{display:block}.device-list-value strong{color:#5b9070;font-size:10px;font-weight:600}.device-list-row:not(.selected) .device-list-value strong{color:#a0aaa4}.device-list-value span{margin-top:4px;color:#a4afa8;font-size:9px}.row-arrow{color:#c0ccc3;font-size:11px}.device-detail-panel{overflow:hidden}.detail-cover{position:relative;display:flex;align-items:center;gap:15px;min-height:155px;padding:25px;color:#eaf4e8;background:var(--forest)}.detail-device-symbol{width:57px;height:57px;display:grid;place-items:center;color:#e4f58e;background:#d8ef891f;border:1px solid rgba(216,239,137,.25);border-radius:14px;font-size:27px}.detail-heading{min-width:0;flex:1}.status-badge{display:inline-flex;align-items:center;gap:6px;color:#b3c8bb;font-size:10px}.status-badge i{width:6px;height:6px;background:#64ce87;border-radius:50%}.status-badge.offline i{background:#9aa89f}.detail-heading h2{overflow:hidden;margin:8px 0 4px;color:#f1f7ed;text-overflow:ellipsis;white-space:nowrap;font-family:Space Grotesk,sans-serif;font-size:20px;font-weight:600}.detail-heading>span:last-child{display:block;color:#8bac9d;font-size:10px}.edit-name{padding:0;color:#9abd83;background:transparent;font-size:10px}.edit-name:hover{color:#d9f28e}.more-button.light{color:#b4cbbc}.detail-body{padding:22px 25px 25px}.detail-section-title{display:flex;align-items:center;justify-content:space-between;color:#557166;font-size:11px;font-weight:600}.detail-section-title small{color:#a5afa9;font-size:9px;font-weight:400}.location-value{display:flex;align-items:center;gap:10px;margin-top:13px;padding:12px 13px;background:#f4f8f2;border:1px solid #e5eee4;border-radius:9px}.location-value>.anticon{width:27px;height:27px;display:grid;place-items:center;color:#5aa56f;background:#e1f1df;border-radius:8px;font-size:13px}.location-value strong,.location-value span{display:block}.location-value strong{color:#415d51;font-size:11px}.location-value span{margin-top:3px;color:#96a49b;font-size:9px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:20px 0;border-bottom:1px solid #edf1ed}.metric{min-width:0;padding:11px 10px 9px;background:#f8faf7;border:1px solid #edf2ec;border-radius:8px}.metric-icon{color:#75a97d;font-size:13px}.metric.orange .metric-icon{color:#c6905d}.metric.blue .metric-icon{color:#649eb5}.metric.purple .metric-icon{color:#8a83b2}.metric.gray .metric-icon{color:#9da9a2}.metric>span{display:block;margin-top:8px;color:#99a49d;font-size:9px}.metric strong{display:block;margin-top:5px;overflow:hidden;color:#486157;text-overflow:ellipsis;white-space:nowrap;font-family:Space Grotesk,sans-serif;font-size:14px;font-weight:600}.metric-progress{height:3px;margin-top:8px;overflow:hidden;background:#e5ece4;border-radius:3px}.metric-progress i{display:block;height:100%;background:#6abd78;border-radius:3px}.quick-settings{padding-top:19px}.toggle-row{display:flex;align-items:center;gap:11px;padding:14px 0;border-bottom:1px solid #edf1ed}.toggle-row:last-child{border-bottom:0}.toggle-icon{width:29px;height:29px;display:grid;place-items:center;color:#6fa27c;background:#edf5eb;border-radius:8px;font-size:13px}.toggle-row>div{min-width:0;flex:1}.toggle-row strong,.toggle-row div>span{display:block}.toggle-row strong{color:#526b5f;font-size:11px}.toggle-row div>span{margin-top:3px;color:#9aa69f;font-size:9px}.switch{width:32px;height:19px;position:relative;flex:0 0 32px;padding:0;background:#d3ddd5;border-radius:11px}.switch i{position:absolute;top:3px;left:3px;width:13px;height:13px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #173a2c29;transition:left .2s}.switch.on{background:#67b979}.switch.on i{left:16px}.rename-inline{display:flex;align-items:center;gap:5px;margin-top:8px}.rename-inline input{width:min(210px,100%);padding:6px 8px;color:#193b31;background:#eef7e9;border:1px solid #c0daab;border-radius:5px;outline:0;font-size:11px}.rename-inline button{width:25px;height:25px;color:#d7ef8b;background:#ffffff1a;border-radius:5px}.rename-inline button:last-child{color:#9cb5a4}.alerts-panel{min-height:520px;padding:0 22px 18px}.filter-tabs{display:flex;align-items:center;gap:23px;height:68px;border-bottom:1px solid var(--line)}.filter-tabs button{position:relative;display:flex;align-items:center;gap:7px;height:100%;color:#87958e;background:transparent;font-size:11px}.filter-tabs button.active{color:#356f54;font-weight:700}.filter-tabs button.active:after{position:absolute;right:0;bottom:-1px;left:0;height:2px;background:#68b879;content:""}.filter-tabs button span{min-width:18px;height:18px;display:grid;place-items:center;color:#7a8b82;background:#edf3eb;border-radius:9px;font-size:9px}.filter-tabs button.active span{color:#fff;background:#68b879}.alerts-table-head,.alert-row{display:grid;grid-template-columns:minmax(190px,1.5fr) minmax(160px,1.1fr) 120px 78px 114px;align-items:center;gap:14px}.alerts-table-head{min-height:45px;padding:0 11px;color:#a0aba4;border-bottom:1px solid #edf1ed;font-size:9px;text-transform:uppercase}.alert-row{min-height:82px;padding:10px 11px;border-bottom:1px solid #edf1ed}.alert-row:hover{background:#fafcf9}.alert-row-icon{width:31px;height:31px;display:grid;place-items:center;float:left;margin-right:9px;border-radius:9px;font-size:13px}.alert-row-icon.critical{color:#c75d57;background:#f9dcd7}.alert-row-icon.warning{color:#c17b55;background:#fae8d8}.alert-row-icon.info{color:#5b8da4;background:#deedf2}.alert-title{padding-left:40px;margin-left:-40px}.alert-title strong,.alert-title span{display:block}.alert-title strong{color:#41584d;font-size:11px}.alert-title span{margin-top:5px;color:#9aa69f;font-size:9px}.alert-device{display:flex;align-items:center;gap:7px;min-width:0;color:#60766b;font-size:10px}.alert-device>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alert-time{color:#87968e;font-size:10px}.alert-status{font-size:10px}.alert-status.active{color:#c87659}.alert-status.acknowledged{color:#7c9387}.alert-status.recovered{color:#57a172}.alert-action{display:flex;align-items:center;justify-content:flex-end;gap:5px;min-width:105px}.alert-action .outline-button{min-width:61px;flex:0 0 61px;white-space:nowrap}.alert-summary,.connected-label{display:flex;align-items:center;gap:7px;color:#5b906b;font-size:11px}.summary-dot{width:7px;height:7px;background:#59bc76;border-radius:50%}.alert-main{min-width:0;display:flex;align-items:center;gap:10px}.alert-main .alert-row-icon{flex:0 0 31px;float:none;margin:0}.alert-main .alert-title{min-width:0;padding-left:0;margin-left:0}.settings-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);gap:18px;align-items:start}.profile-panel,.notification-settings,.data-panel{padding:25px}.profile-panel{grid-row:span 2;min-height:430px}.heading-icon{color:#6aa47b;font-size:20px}.profile-card{display:flex;align-items:center;gap:14px;padding:20px 0;margin-top:15px;border-bottom:1px solid #edf1ed}.avatar-large{width:59px;height:59px;flex-basis:59px;color:#1e5946;background:#dcefbe;font-size:24px}.profile-card>div:nth-child(2){min-width:0;flex:1}.profile-card strong,.profile-card span{display:block}.profile-card strong{color:#3c574a;font-size:14px}.profile-card span{margin-top:5px;color:#97a49d;font-size:10px}.profile-card .outline-button{margin-left:auto}.setting-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding-top:22px}.setting-fields label,.auth-modal label,.bind-modal label{display:block;color:#698077;font-size:10px;font-weight:600}.setting-fields input,.input-readonly,.auth-modal input,.bind-modal input{width:100%;height:38px;padding:0 11px;margin-top:8px;color:#41594d;background:#f7faf6;border:1px solid #e5ece4;border-radius:7px;outline:0;font-size:11px}.setting-fields input:focus,.auth-modal input:focus,.bind-modal input:focus{background:#fff;border-color:#a9cfb0}.input-readonly{display:flex;align-items:center;gap:7px;color:#96a29b}.section-copy{margin:11px 0 14px;color:#94a098;font-size:11px;line-height:1.6}.notification-settings .toggle-row{padding:13px 0}.settings-note{display:flex;align-items:flex-start;gap:7px;padding:10px;margin-top:8px;color:#8c9b91;background:#f5f8f2;border-radius:7px;font-size:9px;line-height:1.5}.data-panel{min-height:205px}.data-row{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid #edf1ed}.data-row strong,.data-row span{display:block}.data-row strong{color:#526a5f;font-size:11px}.data-row span{margin-top:4px;color:#9ca8a0;font-size:9px}.data-value{margin-top:0!important;color:#60a375!important;font-size:10px!important}.data-value .anticon{margin-left:4px}.data-value.sync{color:#668d9e!important;font-family:Space Grotesk,sans-serif;font-size:13px!important}.danger-link{display:inline-flex;align-items:center;gap:6px;padding:14px 0 0;color:#c67d70;background:transparent;font-size:10px}.danger-link:hover{color:#ae504d}.modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:#11241e87}.modal-card{position:relative;width:min(100%,430px);padding:32px;background:#fff;border:1px solid #e2eae1;border-radius:14px;box-shadow:0 22px 70px #0d241b3d}.bind-modal{width:min(100%,490px)}.modal-close{position:absolute;top:14px;right:16px;width:28px;height:28px;color:#93a198;background:transparent;border-radius:7px;font-size:22px;line-height:1}.modal-close:hover{color:#496a5b;background:#f0f5ef}.auth-mark,.modal-icon{width:42px;height:42px;display:grid;place-items:center;margin-bottom:21px;color:#1b493b;background:#e7f2d2;border-radius:12px;font-size:20px}.modal-icon.mint{color:#4f9a69;background:#e2f3e1}.modal-card h2{margin:6px 0 0;color:#203d32;font-family:Space Grotesk,sans-serif;font-size:24px;font-weight:600}.modal-copy{margin:10px 0 25px;color:#8b9991;font-size:11px;line-height:1.6}.auth-modal form,.bind-modal form{display:grid;gap:15px}.password-input{position:relative}.password-input>.anticon{position:absolute;top:20px;left:11px;z-index:1;color:#a2ada5;font-size:12px}.password-input input{padding-left:30px}.form-error{display:flex;align-items:center;gap:6px;padding:9px 10px;color:#bd6659;background:#fceee9;border-radius:7px;font-size:10px}.auth-divider{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:22px;color:#9ba69f;font-size:10px}.auth-divider button,.demo-link{padding:0;color:#4d976b;background:transparent;font-size:10px;font-weight:600}.auth-divider button:hover,.demo-link:hover{color:#1f5d47}.demo-link{display:flex;align-items:center;gap:7px;margin:20px auto 0}.optional{margin-left:5px;color:#aab3ad;font-size:9px;font-weight:400}.modal-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:7px}.bind-tip{display:flex;align-items:flex-start;gap:7px;padding:11px;margin-top:19px;color:#8e9c92;background:#f4f8f1;border-radius:7px;font-size:9px;line-height:1.5}.bind-tip .anticon{color:#78a984;font-size:12px}.code-input-row{display:flex;align-items:center;gap:8px;margin-top:8px}.code-input-row input{min-width:0;flex:1;margin-top:0}.send-code-button{min-width:92px;height:38px;padding:0 9px;color:#4d8f6d;background:#edf6e9;border:1px solid #d6e8cf;border-radius:7px;font-size:10px;font-weight:600;white-space:nowrap}.send-code-button:hover{color:#245c46;background:#e3f1de}.send-code-button:disabled{cursor:wait;color:#98a99c;background:#f2f5f1;border-color:#e8eee7}.register-code-hint{display:flex;align-items:center;gap:6px;padding:9px 10px;color:#568b67;background:#edf8e8;border-radius:7px;font-size:10px}.register-code-hint .anticon{color:#63b77a}.form-error.form-notice{color:#568b67;background:#edf8e8}.toast{position:fixed;right:25px;bottom:25px;z-index:30;display:flex;align-items:center;gap:9px;max-width:min(360px,calc(100vw - 40px));padding:12px 16px;color:#ebf7e9;background:#1c493d;border-radius:8px;box-shadow:0 9px 28px #163e3038;font-size:11px}.toast .anticon{color:#bfe88d}.empty-state{min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#8b9991;text-align:center}.empty-state.compact{min-height:200px}.empty-icon{width:40px;height:40px;display:grid;place-items:center;margin-bottom:13px;color:#a3b8a8;background:#edf4eb;border-radius:12px;font-size:18px}.empty-state strong{color:#61766a;font-size:12px}.empty-state span{margin-top:6px;color:#a1aca5;font-size:10px}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:.8;transform:scale(.85)}50%{opacity:.25;transform:scale(1.15)}}@media(max-width:1180px){.content-wrap,.topbar{padding-right:28px;padding-left:28px}.stats-grid,.device-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.add-device-card{min-height:150px}.dashboard-grid{grid-template-columns:minmax(0,1.3fr) minmax(270px,.9fr)}.device-layout{grid-template-columns:minmax(280px,.9fr) minmax(360px,1.1fr)}}@media(max-width:900px){.sidebar{position:fixed;top:0;bottom:0;left:-260px;z-index:15;transition:left .25s ease;box-shadow:12px 0 28px #1030242b}.sidebar.sidebar-open{left:0}.mobile-menu{display:grid}.topbar{padding:0 19px}.breadcrumb{margin-left:3px}.content-wrap{padding:30px 19px 52px}.dashboard-grid,.device-layout,.settings-grid{grid-template-columns:1fr}.device-list-panel{min-height:auto}.profile-panel{grid-row:auto}.settings-grid{gap:15px}.alerts-table-head{display:none}.alert-row{grid-template-columns:37px minmax(0,1fr) auto;gap:9px;min-height:82px}.alert-row-icon{grid-column:1;grid-row:1 / span 2;margin:0}.alert-title{grid-column:2;grid-row:1;padding:0;margin:0}.alert-device{grid-column:2;grid-row:2}.alert-time{grid-column:3;grid-row:1}.alert-status{grid-column:3;grid-row:2;text-align:right}.alert-action{display:none}.map-panel,.activity-panel{min-height:420px}.activity-list{min-height:280px}}@media(max-width:620px){.topbar{height:64px}.topbar-actions{gap:5px}.topbar-actions .demo-pill,.profile-trigger span{display:none}.profile-trigger{margin-left:3px}.page-intro,.compact-intro{align-items:flex-start;flex-direction:column;gap:16px;margin-bottom:24px}.page-intro h1{font-size:30px}.intro-date{padding:0;border:0;text-align:left}.intro-date strong{display:inline;margin-left:6px}.stats-grid{grid-template-columns:1fr 1fr;gap:9px}.stat-card{min-height:125px;padding:15px}.stat-card strong{font-size:21px}.stat-card small{font-size:9px}.map-panel,.activity-panel{padding:18px 15px 14px}.map-surface{height:280px}.map-legend{gap:7px}.device-overview-grid{grid-template-columns:1fr}.add-device-card{min-height:120px}.device-summary-card{min-height:150px}.device-section-head{margin-top:27px}.metric-grid{grid-template-columns:1fr 1fr}.detail-cover{padding:20px 17px}.detail-body{padding:18px 17px 20px}.detail-device-symbol{width:48px;height:48px;flex-basis:48px;font-size:22px}.detail-heading h2{font-size:17px}.profile-panel,.notification-settings,.data-panel{padding:19px 17px}.setting-fields{grid-template-columns:1fr}.profile-card .outline-button{display:none}.alerts-panel{padding:0 10px 12px}.filter-tabs{padding:0 8px;gap:15px}.alert-row{padding-right:5px;padding-left:5px}.modal-card{padding:26px 21px}.toast{right:14px;bottom:14px}}@media(max-width:900px){.alert-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"main time" "device status";align-items:center;gap:8px 12px;min-height:82px}.alert-main{grid-area:main;min-width:0}.alert-device{grid-area:device;min-width:0;padding-left:41px}.alert-time{grid-area:time;white-space:nowrap}.alert-status{grid-area:status;text-align:right;white-space:nowrap}.alert-action{display:none}.alert-main .alert-row-icon{grid-column:auto;grid-row:auto;margin:0}.alert-main .alert-title{grid-column:auto;grid-row:auto;padding:0;margin:0}}.device-live-section{padding:24px 25px 0}.section-heading-row,.subsection-heading,.location-readout,.location-meta,.command-form-footer,.track-metadata{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-heading-row h3,.subsection-heading h3{margin:5px 0 0;color:#2e4a3e;font-size:16px;font-weight:600}.live-indicator{display:inline-flex;align-items:center;gap:6px;color:#6d8578;font-size:10px}.live-indicator i{width:6px;height:6px;background:#62bd7a;border-radius:50%}.live-indicator.offline i{background:#a6b2aa}.live-indicator.offline{color:#9ca8a1}.selected-map-surface{position:relative;height:330px;overflow:hidden;margin-top:17px;background-color:#eef4ee;background-image:linear-gradient(#e0ebe1 1px,transparent 1px),linear-gradient(90deg,#e0ebe1 1px,transparent 1px);background-size:46px 46px;border:1px solid #dfeae0;border-radius:10px}.selected-map-surface .map-grid-label{position:absolute;z-index:2;color:#8da195;font-size:9px}.selected-map-surface .grid-top{top:14px;left:15px}.selected-map-surface .grid-bottom{right:15px;bottom:13px;color:#a4b0a8}.selected-map-surface .map-marker{cursor:default}.selected-map-surface .map-controls{bottom:12px}.selected-map-surface .map-scale{bottom:15px}.location-readout{padding:15px 0 19px;border-bottom:1px solid #edf1ed}.location-readout .location-value{min-width:0;flex:1;margin-top:0;padding:0;background:transparent;border:0}.location-meta{flex-wrap:wrap;justify-content:flex-end;color:#8d9c93;font-size:9px}.location-meta span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.location-meta .anticon{color:#75a486}.device-workspace-panel{padding:20px 25px}.device-workspace-tabs{display:flex;align-items:center;gap:4px;padding:18px 25px 0;border-top:1px solid #edf1ed}.device-workspace-tabs button{position:relative;display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:0 13px;color:#8a9990;background:transparent;border-bottom:2px solid transparent;font-size:11px;white-space:nowrap}.device-workspace-tabs button:hover{color:#4f8066}.device-workspace-tabs button.active{color:#306f52;border-bottom-color:#67b779;font-weight:700}.device-workspace-tabs button em{min-width:17px;height:17px;display:inline-grid;place-items:center;color:#6f8b7b;background:#edf3ea;border-radius:9px;font-size:9px;font-style:normal}.device-workspace-tabs button.active em{color:#fff;background:#6cba79}.device-workspace-content{padding:22px 25px 26px;border-top:1px solid #edf1ed}.workspace-loading{min-height:235px;display:flex;align-items:center;justify-content:center;gap:9px;color:#7d9185;font-size:11px}.feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.feature-card{min-width:0;padding:16px;background:#fbfdf9;border:1px solid #e3ece2;border-radius:10px}.feature-card.disabled{opacity:.7}.feature-card-head{display:flex;align-items:center;gap:9px}.feature-icon{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;color:#5f9b70;background:#e6f3e5;border-radius:9px;font-size:15px}.feature-icon.geofence{color:#6493ab;background:#e5f1f4}.feature-icon.low_battery{color:#c17b55;background:#faeadd}.feature-icon.trajectory_recording{color:#8079ac;background:#eeecfa}.feature-icon.offline_detection{color:#7d8d85;background:#edf1ec}.feature-title{min-width:0;flex:1}.feature-title strong,.feature-title span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feature-title strong{color:#3d594c;font-size:12px}.feature-title span{margin-top:4px;color:#91a097;font-size:9px}.feature-description{min-height:31px;margin:13px 0 0;color:#86968d;font-size:10px;line-height:1.55}.feature-help{display:flex;align-items:flex-start;gap:6px;padding:8px 9px;margin:10px 0 0;color:#75907d;background:#f0f6ee;border-radius:6px;font-size:9px;line-height:1.45}.feature-config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding-top:13px;margin-top:12px;border-top:1px solid #e8efe7}.feature-config-row{min-width:0;display:block;color:#7a8e82;font-size:9px}.feature-config-row span{display:block;margin-bottom:5px}.feature-config-row input,.feature-config-row select,.command-param input,.command-param select,.command-param textarea{width:100%;min-width:0;height:31px;padding:0 8px;color:#496356;background:#fff;border:1px solid #dfe9df;border-radius:6px;outline:0;font-size:10px}.feature-config-row input:focus,.feature-config-row select:focus,.command-param input:focus,.command-param select:focus,.command-param textarea:focus{border-color:#9ccaa6;box-shadow:0 0 0 2px #71b87d1f}.feature-save{display:inline-flex;align-items:center;gap:5px;padding:7px 0 0;color:#4d986a;background:transparent;font-size:10px;font-weight:600}.feature-save:hover{color:#286347}.track-layout,.command-layout{display:grid;grid-template-columns:minmax(235px,.78fr) minmax(0,1.42fr);gap:18px}.session-list,.track-detail,.command-list,.command-form,.command-history{min-width:0}.subsection-heading{align-items:flex-end;margin-bottom:14px}.subsection-heading>span{color:#94a198;font-size:9px}.session-row{width:100%;display:flex;align-items:center;gap:9px;padding:12px 10px;color:#587064;background:transparent;border-bottom:1px solid #edf1ed;text-align:left}.session-row:hover,.session-row.active{background:#f1f7ef}.session-row.active{border-left:2px solid #6cba78;padding-left:8px}.session-status{width:7px;height:7px;flex:0 0 7px;background:#aab7ae;border-radius:50%}.session-status.running{background:#5dc17b;box-shadow:0 0 0 4px #5dc17b21}.session-row>div:nth-child(2){min-width:0;flex:1}.session-row strong,.session-row span{display:block}.session-row>div:nth-child(2) strong{color:#4b6659;font-size:10px}.session-row>div:nth-child(2) span{margin-top:4px;color:#99a69e;font-size:9px}.session-summary{text-align:right}.session-summary strong{color:#619472;font-family:Space Grotesk,sans-serif;font-size:11px}.session-summary span{margin-top:4px;color:#a0aca4;font-size:8px}.track-map{position:relative;height:286px;overflow:hidden;background-color:#eef4ee;background-image:linear-gradient(#e0ebe1 1px,transparent 1px),linear-gradient(90deg,#e0ebe1 1px,transparent 1px);background-size:46px 46px;border:1px solid #dfebdf;border-radius:9px}.track-map .map-water{opacity:.62}.track-route{position:absolute;inset:0;z-index:2;width:100%;height:100%;color:#4eaa70;overflow:visible}.track-point{position:absolute;z-index:3;width:7px;height:7px;background:#62b879;border:2px solid #fff;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 1px 5px #2b6f4533}.track-point.start,.track-point.end{width:12px;height:12px;background:#285f4a}.track-point.end{background:#e48f6e}.track-map-label{position:absolute;right:13px;bottom:11px;z-index:4;padding:4px 7px;color:#719080;background:#ffffffd1;border:1px solid #e0eae0;border-radius:5px;font-size:9px}.track-empty{position:absolute;inset:0;z-index:4;display:flex;align-items:center;justify-content:center;gap:7px;color:#96a59b;font-size:10px}.track-metadata{flex-wrap:wrap;justify-content:flex-start;gap:14px;padding-top:13px;color:#8b9d91;font-size:9px}.track-metadata span{display:inline-flex;align-items:center;gap:5px}.track-metadata .anticon{color:#73a582}.track-point-count{display:inline-flex;align-items:center;gap:5px}.command-row{width:100%;display:flex;align-items:center;gap:9px;padding:11px 9px;color:#5a7165;background:transparent;border-bottom:1px solid #edf1ed;text-align:left}.command-row:hover,.command-row.active{background:#f1f7ef}.command-row.active{border-left:2px solid #6cba78;padding-left:7px}.command-row-icon{width:27px;height:27px;display:grid;place-items:center;color:#5f9872;background:#e7f3e5;border-radius:7px;font-size:12px}.command-row>div{min-width:0;flex:1}.command-row strong,.command-row span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.command-row strong{color:#486154;font-size:10px}.command-row div span{margin-top:4px;color:#a0aca4;font-family:DM Sans,sans-serif;font-size:8px}.command-row>.anticon{color:#b2c0b5;font-size:10px}.command-form{padding:17px;background:#fbfdf9;border:1px solid #e2ece1;border-radius:10px}.command-form .subsection-heading{margin-bottom:9px}.command-timeout{display:inline-flex;align-items:center;gap:4px;color:#8da093!important}.command-description{margin:0 0 16px;color:#83948a;font-size:10px;line-height:1.55}.command-param{display:block;margin-top:13px;color:#71847a;font-size:10px}.command-param>span{display:flex;align-items:center;gap:6px;margin-bottom:6px}.command-param>span em{color:#c37b64;font-size:8px;font-style:normal}.command-param textarea{height:auto;padding-top:8px;resize:vertical}.command-no-params{display:flex;align-items:center;gap:7px;padding:11px;color:#5f9c72;background:#edf7ea;border-radius:7px;font-size:10px}.command-error{padding:8px 10px;margin:13px 0 0;color:#bc6659;background:#fcedea;border-radius:6px;font-size:9px}.command-form-footer{flex-wrap:wrap;padding-top:18px;margin-top:17px;border-top:1px solid #e9f0e8}.command-form-footer>span{display:inline-flex;align-items:center;gap:5px;color:#8b9c91;font-size:9px}.command-form-footer .anticon{color:#70a27d}.command-send{min-height:34px;padding:0 12px;font-size:10px}.command-history{min-width:0}.command-record{display:grid;grid-template-columns:29px minmax(0,1fr) auto minmax(100px,.65fr);align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid #edf1ed}.command-record-icon{width:27px;height:27px;display:grid;place-items:center;color:#708fa0;background:#e8f2f3;border-radius:7px;font-size:12px}.command-record-copy{min-width:0}.command-record-copy strong,.command-record-copy span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.command-record-copy strong{color:#4c6559;font-size:10px}.command-record-copy span{margin-top:4px;color:#99a69e;font-size:8px}.command-status{padding:4px 7px;color:#5d9a70;background:#edf7ea;border-radius:5px;font-size:9px;white-space:nowrap}.command-status.failed{color:#bd665b;background:#fcece8}.command-status.acknowledged{color:#668d9d;background:#eaf3f4}.command-record code{min-width:0;overflow:hidden;color:#8c9c92;text-overflow:ellipsis;white-space:nowrap;font-family:DM Sans,sans-serif;font-size:8px}@media(max-width:900px){.device-live-section{padding-right:18px;padding-left:18px}.device-workspace-tabs{padding-right:18px;padding-left:18px;overflow-x:auto}.device-workspace-content{padding-right:18px;padding-left:18px}.track-layout,.command-layout{grid-template-columns:1fr}.track-detail,.command-form{order:-1}.feature-grid{grid-template-columns:1fr 1fr}.command-record{grid-template-columns:29px minmax(0,1fr) auto}.command-record code{display:none}}@media(max-width:620px){.device-live-section{padding:19px 15px 0}.selected-map-surface{height:270px}.section-heading-row{align-items:flex-start;flex-direction:column;gap:8px}.location-readout{align-items:flex-start;flex-direction:column}.location-meta{justify-content:flex-start}.device-workspace-tabs{gap:0;padding:13px 10px 0}.device-workspace-tabs button{padding:0 10px;font-size:10px}.device-workspace-content{padding:18px 15px 20px}.feature-grid{grid-template-columns:1fr}.feature-config-grid{grid-template-columns:1fr 1fr}.track-map{height:235px}.session-row{padding-right:5px;padding-left:5px}.command-form{padding:14px}.command-form-footer{align-items:flex-start;flex-direction:column}.command-form-footer .command-send{width:100%}.command-record{grid-template-columns:29px minmax(0,1fr) auto;gap:7px}.command-record-copy span{font-size:8px}}.amap-live-map,.geofence-map{isolation:isolate;background:#e8efe9}.device-map-canvas{position:absolute;inset:0;z-index:1;width:100%;height:100%}.amap-container{color:#426052;background:#e8efe9;font-family:inherit}.map-source-label{position:absolute;top:12px;left:12px;z-index:150;padding:5px 8px;color:#557566;background:#ffffffe6;border:1px solid rgba(213,226,215,.92);border-radius:6px;box-shadow:0 2px 8px #2b534014;font-size:9px;pointer-events:none}.map-load-error{position:absolute;inset:0;z-index:160;display:flex;align-items:center;justify-content:center;gap:7px;padding:20px;color:#a35d4c;background:#f8fbf7eb;font-size:11px;text-align:center}.geofence-manager{padding-top:23px;margin-top:24px;border-top:1px solid #e5ede4}.geofence-manager.disabled .geofence-layout,.geofence-manager.disabled .geofence-list{opacity:.68}.geofence-heading{margin-bottom:16px}.geofence-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(220px,.78fr);gap:17px}.geofence-map-column{min-width:0}.geofence-map{position:relative;height:350px;overflow:hidden;border:1px solid #dce8dd;border-radius:9px}.geofence-map.drawing{cursor:crosshair;box-shadow:0 0 0 3px #df7f561c}.geofence-map.drawing .amap-container{cursor:crosshair}.geofence-map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:11px}.shape-toggle{display:inline-flex;align-items:center;padding:3px;background:#eff4ee;border-radius:7px}.shape-toggle button{display:inline-flex;align-items:center;gap:5px;min-height:29px;padding:0 10px;color:#7d8f84;background:transparent;border-radius:5px;font-size:9px}.shape-toggle button.active{color:#316b50;background:#fff;box-shadow:0 1px 4px #28513d1a;font-weight:700}.draw-actions{display:flex;align-items:center;gap:6px}.draw-actions .outline-button{min-height:34px}.draw-actions .outline-button.active{color:#b66749;background:#fff5ef;border-color:#efc0a8}.draw-actions .icon-button:disabled{opacity:.4;cursor:default}.draw-help{min-height:16px;display:flex;align-items:center;gap:6px;margin:8px 0 0;color:#87978e;font-size:9px;line-height:1.45}.draw-help .anticon{color:#719d7e}.geofence-form{min-width:0;padding:16px;background:#fbfdf9;border:1px solid #e1eae0;border-radius:9px}.geofence-form .subsection-heading{margin-bottom:13px}.geofence-form>label,.geofence-number-grid label{display:block;margin-top:11px;color:#71847a;font-size:9px}.geofence-form input,.geofence-form select,.geofence-row input,.geofence-row select{width:100%;min-width:0;height:32px;padding:0 9px;margin-top:6px;color:#486154;background:#fff;border:1px solid #dce7dc;border-radius:6px;outline:0;font-size:10px}.geofence-form input:focus,.geofence-form select:focus,.geofence-row input:focus,.geofence-row select:focus{border-color:#91c29b;box-shadow:0 0 0 2px #66b4771c}.geofence-number-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.geofence-save{width:100%;min-height:36px;margin-top:15px;justify-content:center}.geofence-save:disabled{cursor:default;opacity:.48}.geofence-disabled-note{display:block;margin-top:8px;color:#a28e78;font-size:8px;text-align:center}.geofence-list{padding-top:22px}.geofence-list .subsection-heading{margin-bottom:5px}.geofence-row{display:grid;grid-template-columns:34px minmax(0,1fr) 96px 35px 35px;align-items:center;gap:9px;min-height:64px;padding:9px 0;border-bottom:1px solid #e9efea}.geofence-shape-icon{width:32px;height:32px;display:grid;place-items:center;color:#4c9270;background:#e7f3e7;border-radius:8px}.geofence-shape-icon.polygon{color:#ba7658;background:#faece3}.geofence-row-main{min-width:0}.geofence-row-main input{height:27px;padding:0 6px;margin:0;color:#496154;background:transparent;border-color:transparent;font-size:10px;font-weight:700}.geofence-row-main input:hover,.geofence-row-main input:focus{background:#fff;border-color:#dce7dc}.geofence-row-main span{display:block;overflow:hidden;margin-top:3px;color:#94a198;text-overflow:ellipsis;white-space:nowrap;font-size:8px}.geofence-row>select{height:29px;margin:0;font-size:9px}.geofence-row .icon-button.danger{color:#bd7567}.geofence-row .icon-button.danger:hover{color:#a24e45;background:#fcede9}.geofence-empty{min-height:95px;display:flex;align-items:center;justify-content:center;gap:7px;color:#9aa79f;font-size:10px}@media(max-width:900px){.geofence-layout{grid-template-columns:1fr}.geofence-form{padding:15px}}@media(max-width:620px){.geofence-map{height:285px}.geofence-map-toolbar{align-items:flex-start;flex-direction:column}.draw-actions{width:100%}.draw-actions .outline-button{flex:1}.geofence-number-grid{grid-template-columns:1fr}.geofence-row{grid-template-columns:32px minmax(0,1fr) 35px 35px}.geofence-row>select{grid-column:2 / -1;grid-row:2}}
