@ -86,7 +86,7 @@ svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width:
. sidebar-bottom . sidebar-profile > svg { transform : rotate ( -90 deg ) ; color : #8fa0ad ; }
. sidebar-bottom . sidebar-profile > svg { transform : rotate ( -90 deg ) ; color : #8fa0ad ; }
. mobile-menu { display : none ; }
. mobile-menu { display : none ; }
. monitor-layout { position : relative ; flex : 1 ; min-height : 0 ; display : grid ; grid-template-columns : 0 minmax ( 0 , 1 fr ) 0 ; overflow : hidden ; background : transparent ; pointer-events : none ; transition : grid-template-columns .38 s cubic-bezier ( .22 , .8 , .25 , 1 ) ; }
. monitor-layout { position : relative ; height : 100 % ; flex : 1 ; min-height : 0 ; display : grid ; grid-template-columns : 0 minmax ( 0 , 1 fr ) 0 ; overflow : hidden ; background : transparent ; pointer-events : none ; transition : grid-template-columns .38 s cubic-bezier ( .22 , .8 , .25 , 1 ) ; }
. monitor-layout . focused { grid-template-columns : 276 px minmax ( 360 px , 1 fr ) 348 px ; }
. monitor-layout . focused { grid-template-columns : 276 px minmax ( 360 px , 1 fr ) 348 px ; }
. monitor-layout . focused . control-expanded { grid-template-columns : 276 px minmax ( 360 px , 1 fr ) 560 px ; }
. monitor-layout . focused . control-expanded { grid-template-columns : 276 px minmax ( 360 px , 1 fr ) 560 px ; }
. device-panel , . detail-panel { background : #fff ; min-width : 0 ; min-height : 0 ; overflow : auto ; opacity : 0 ; visibility : hidden ; z-index : 8 ; pointer-events : none ; transition : transform .38 s cubic-bezier ( .22 , .8 , .25 , 1 ) , opacity .2 s ease , visibility 0 s linear .38 s ; }
. device-panel , . detail-panel { background : #fff ; min-width : 0 ; min-height : 0 ; overflow : auto ; opacity : 0 ; visibility : hidden ; z-index : 8 ; pointer-events : none ; transition : transform .38 s cubic-bezier ( .22 , .8 , .25 , 1 ) , opacity .2 s ease , visibility 0 s linear .38 s ; }
@ -250,7 +250,7 @@ svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width:
. page-view [ hidden ] { display : none !important ; }
. page-view [ hidden ] { display : none !important ; }
. monitor-layout [ hidden ] { display : none !important ; }
. monitor-layout [ hidden ] { display : none !important ; }
. device-page { position : relative ; flex : 1 ; min-height : 0 ; padding : 22 px 24 px 24 px ; display : flex ; flex-direction : column ; gap : 16 px ; overflow : auto ; background : #f2f5f7 ; }
. device-page { position : relative ; height : 100 % ; flex : 1 ; min-height : 0 ; padding : 22 px 24 px 24 px ; display : flex ; flex-direction : column ; gap : 16 px ; overflow : auto ; background : #f2f5f7 ; pointer-events : auto ; }
. device-page-header { min-height : 42 px ; display : flex ; align-items : center ; justify-content : space-between ; gap : 16 px ; }
. device-page-header { min-height : 42 px ; display : flex ; align-items : center ; justify-content : space-between ; gap : 16 px ; }
. device-page-header > div : first-child { display : flex ; align-items : baseline ; gap : 12 px ; } . device-page-header h1 { margin : 0 ; font-size : 24 px ; } . device-page-header span { color : var ( - - muted ) ; font-size : 12 px ; }
. device-page-header > div : first-child { display : flex ; align-items : baseline ; gap : 12 px ; } . device-page-header h1 { margin : 0 ; font-size : 24 px ; } . device-page-header span { color : var ( - - muted ) ; font-size : 12 px ; }
. page-actions { display : flex ; align-items : center ; gap : 8 px ; } . icon-command , . primary-command , . plain-command { height : 34 px ; border-radius : 5 px ; display : inline-flex ; align-items : center ; justify-content : center ; gap : 6 px ; font-size : 13 px ; }
. page-actions { display : flex ; align-items : center ; gap : 8 px ; } . icon-command , . primary-command , . plain-command { height : 34 px ; border-radius : 5 px ; display : inline-flex ; align-items : center ; justify-content : center ; gap : 6 px ; font-size : 13 px ; }
@ -274,7 +274,7 @@ svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width:
. device-drawer > footer { position : sticky ; bottom : 0 ; min-height : 62 px ; margin-top : auto ; padding : 12 px 18 px ; display : flex ; align-items : center ; justify-content : flex-end ; gap : 8 px ; border-top : 1 px solid var ( - - line ) ; background : #fff ; }
. device-drawer > footer { position : sticky ; bottom : 0 ; min-height : 62 px ; margin-top : auto ; padding : 12 px 18 px ; display : flex ; align-items : center ; justify-content : flex-end ; gap : 8 px ; border-top : 1 px solid var ( - - line ) ; background : #fff ; }
. firmware-current { color : var ( - - muted ) ; font-size : 11 px ; } . firmware-upgrade { display : flex ; align-items : center ; gap : 8 px ; } . firmware-upgrade select { flex : 1 ; min-width : 0 ; height : 34 px ; padding : 0 26 px 0 10 px ; border : 1 px solid var ( - - line ) ; border-radius : 5 px ; outline : 0 ; color : #536270 ; background : #fff ; font-size : 12 px ; } . firmware-upgrade . primary-command { height : 34 px ; padding : 0 16 px ; white-space : nowrap ; } . firmware-upgrade . primary-command : disabled { opacity : .5 ; cursor : not-allowed ; }
. firmware-current { color : var ( - - muted ) ; font-size : 11 px ; } . firmware-upgrade { display : flex ; align-items : center ; gap : 8 px ; } . firmware-upgrade select { flex : 1 ; min-width : 0 ; height : 34 px ; padding : 0 26 px 0 10 px ; border : 1 px solid var ( - - line ) ; border-radius : 5 px ; outline : 0 ; color : #536270 ; background : #fff ; font-size : 12 px ; } . firmware-upgrade . primary-command { height : 34 px ; padding : 0 16 px ; white-space : nowrap ; } . firmware-upgrade . primary-command : disabled { opacity : .5 ; cursor : not-allowed ; }
. operation-page { flex : 1 ; min-height : 0 ; padding : 22 px 24 px 24 px ; display : flex ; flex-direction : column ; gap : 16 px ; overflow : auto ; background : #f2f5f7 ; }
. operation-page { height : 100 % ; flex : 1 ; min-height : 0 ; padding : 22 px 24 px 24 px ; display : flex ; flex-direction : column ; gap : 16 px ; overflow : auto ; background : #f2f5f7 ; pointer-events : auto ; }
. operation-page-header { min-height : 45 px ; display : flex ; align-items : center ; justify-content : space-between ; gap : 18 px ; }
. operation-page-header { min-height : 45 px ; display : flex ; align-items : center ; justify-content : space-between ; gap : 18 px ; }
. operation-page-header > div { min-width : 0 ; }
. operation-page-header > div { min-width : 0 ; }
. operation-page-header h1 { margin : 0 0 5 px ; font-size : 23 px ; }
. operation-page-header h1 { margin : 0 0 5 px ; font-size : 23 px ; }
@ -373,13 +373,13 @@ svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width:
. route-map-legend { right : 12 px ; bottom : 12 px ; height : 31 px ; padding : 0 10 px ; gap : 11 px ; } . route-map-legend span { display : flex ; align-items : center ; gap : 4 px ; } . route-map-legend i { width : 7 px ; height : 7 px ; border : 2 px solid #fff ; border-radius : 50 % ; background : var ( - - blue ) ; box-shadow : 0 0 0 1 px #7e8c97 ; } . route-map-legend i . start { background : var ( - - green ) ; } . route-map-legend i . end { background : #c56c28 ; }
. route-map-legend { right : 12 px ; bottom : 12 px ; height : 31 px ; padding : 0 10 px ; gap : 11 px ; } . route-map-legend span { display : flex ; align-items : center ; gap : 4 px ; } . route-map-legend i { width : 7 px ; height : 7 px ; border : 2 px solid #fff ; border-radius : 50 % ; background : var ( - - blue ) ; box-shadow : 0 0 0 1 px #7e8c97 ; } . route-map-legend i . start { background : var ( - - green ) ; } . route-map-legend i . end { background : #c56c28 ; }
. waypoint-dialog { width : min ( 540 px , 100 % ) ; } . waypoint-id-row { min-height : 42 px ; margin-bottom : 14 px ; padding : 0 12 px ; display : flex ; align-items : center ; justify-content : space-between ; border-radius : 4 px ; background : #f4f6f8 ; } . waypoint-id-row span { color : var ( - - muted ) ; font-size : 11 px ; } . waypoint-id-row strong { font-size : 14 px ; } . waypoint-dialog . number-input input { padding-right : 38 px ; } . waypoint-turn-segment { height : 38 px ; grid-template-columns : repeat ( 2 , minmax ( 0 , 1 fr ) ) ; }
. waypoint-dialog { width : min ( 540 px , 100 % ) ; } . waypoint-id-row { min-height : 42 px ; margin-bottom : 14 px ; padding : 0 12 px ; display : flex ; align-items : center ; justify-content : space-between ; border-radius : 4 px ; background : #f4f6f8 ; } . waypoint-id-row span { color : var ( - - muted ) ; font-size : 11 px ; } . waypoint-id-row strong { font-size : 14 px ; } . waypoint-dialog . number-input input { padding-right : 38 px ; } . waypoint-turn-segment { height : 38 px ; grid-template-columns : repeat ( 2 , minmax ( 0 , 1 fr ) ) ; }
. task-replay-page { flex : 1 ; min-height : 0 ; display : flex ; flex-direction : column ; overflow : hidden ; background : #eef2f4 ; }
. task-replay-page { position : relative ; height : 100 % ; flex : 1 ; min-height : 0 ; display : flex ; flex-direction : column ; overflow : hidden ; background : transparent ; pointer-events : none ; }
. replay-header { min-height : 88 px ; padding : 10 px 20 px 13 px ; display : grid ; grid-template-columns : 155 px minmax ( 260 px , 1 fr ) auto ; align-items : end ; gap : 8 px 15 px ; border-bottom : 1 px solid var ( - - line ) ; background : #fff ; }
. replay-header { min-height : 88 px ; padding : 10 px 20 px 13 px ; display : grid ; grid-template-columns : 155 px minmax ( 260 px , 1 fr ) auto ; align-items : end ; gap : 8 px 15 px ; border-bottom : 1 px solid var ( - - line ) ; background : #fff ; }
. replay-header . back-command { grid-column : 1 / 4 ; }
. replay-header . back-command { grid-column : 1 / 4 ; }
. replay-header > div : nth-child ( 2 ) { grid-column : 1 / 3 ; min-width : 0 ; } . replay-header small { color : var ( - - muted ) ; font-size : 10 px ; } . replay-header h1 { margin : 3 px 0 ; overflow : hidden ; font-size : 19 px ; text-overflow : ellipsis ; white-space : nowrap ; } . replay-header > div : nth-child ( 2 ) > span { color : var ( - - muted ) ; font-size : 10 px ; } . replay-header > div : nth-child ( 2 ) b { color : #5c6a75 ; font-weight : 500 ; }
. replay-header > div : nth-child ( 2 ) { grid-column : 1 / 3 ; min-width : 0 ; } . replay-header small { color : var ( - - muted ) ; font-size : 10 px ; } . replay-header h1 { margin : 3 px 0 ; overflow : hidden ; font-size : 19 px ; text-overflow : ellipsis ; white-space : nowrap ; } . replay-header > div : nth-child ( 2 ) > span { color : var ( - - muted ) ; font-size : 10 px ; } . replay-header > div : nth-child ( 2 ) b { color : #5c6a75 ; font-weight : 500 ; }
. replay-header-summary { display : flex ; align-items : center ; } . replay-header-summary > span { min-width : 86 px ; padding : 0 14 px ; display : flex ; flex-direction : column ; gap : 4 px ; border-left : 1 px solid var ( - - line ) ; color : var ( - - muted ) ; font-size : 10 px ; } . replay-header-summary strong { color : #344550 ; font-size : 12 px ; }
. replay-header-summary { display : flex ; align-items : center ; } . replay-header-summary > span { min-width : 86 px ; padding : 0 14 px ; display : flex ; flex-direction : column ; gap : 4 px ; border-left : 1 px solid var ( - - line ) ; color : var ( - - muted ) ; font-size : 10 px ; } . replay-header-summary strong { color : #344550 ; font-size : 12 px ; }
. replay-map { position : relative ; flex : 1 ; min-height : 43 0px ; overflow : hidden ; isolation : isolate ; background : #718276 ; }
. replay-map-base { position : absolute ; inset : 0 ; background-image : linear-gradient ( rgba ( 17 , 39 , 37 , .07 ) , rgba ( 17 , 39 , 37 , .19 ) ) , url ( "/assets/map-base-clean.png" ) ; background-position : center ; background-size : cover ; filter : saturate ( .55 ) contrast ( .94 ) ; transform : scale ( 1.01 ) ; }
. replay-map { position : relative ; flex : 1 ; min-height : 0 ; overflow : hidden ; isolation : isolate ; background : transparent ; pointer-events : none ; }
. replay-empty { position : absolute ; inset : 0 ; display : grid ; place-items : center ; color : var ( - - muted ) ; font-size : 12 px ; pointer-events : none ; background : rgba ( 238 , 242 , 244 , .72 ) ; }
. replay-route-layer { position : absolute ; z-index : 2 ; inset : 0 ; width : 100 % ; height : 100 % ; overflow : visible ; }
. replay-route-layer { position : absolute ; z-index : 2 ; inset : 0 ; width : 100 % ; height : 100 % ; overflow : visible ; }
. replay-route-shadow , . replay-route-line { fill : none ; stroke-linecap : round ; stroke-linejoin : round ; vector-effect : non-scaling-stroke ; } . replay-route-shadow { stroke : rgba ( 255 , 255 , 255 , .9 ) ; stroke-width : 7 ; } . replay-route-line { stroke : #2b79c8 ; stroke-width : 3 ; stroke-dasharray : 7 5 ; }
. replay-route-shadow , . replay-route-line { fill : none ; stroke-linecap : round ; stroke-linejoin : round ; vector-effect : non-scaling-stroke ; } . replay-route-shadow { stroke : rgba ( 255 , 255 , 255 , .9 ) ; stroke-width : 7 ; } . replay-route-line { stroke : #2b79c8 ; stroke-width : 3 ; stroke-dasharray : 7 5 ; }
. replay-waypoints circle { fill : #fff ; stroke : #2b79c8 ; stroke-width : 4 ; vector-effect : non-scaling-stroke ; } . replay-waypoints circle : first-child { stroke : var ( - - green ) ; } . replay-waypoints circle : last-child { stroke : #c56c28 ; }
. replay-waypoints circle { fill : #fff ; stroke : #2b79c8 ; stroke-width : 4 ; vector-effect : non-scaling-stroke ; } . replay-waypoints circle : first-child { stroke : var ( - - green ) ; } . replay-waypoints circle : last-child { stroke : #c56c28 ; }
@ -432,7 +432,7 @@ svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width:
. raw-download-quota { margin-top : 14 px ; display : grid ; grid-template-columns : repeat ( 3 , 1 fr ) ; border : 1 px solid var ( - - line ) ; border-radius : 4 px ; } . raw-download-quota > div { min-height : 55 px ; padding : 9 px 11 px ; display : flex ; flex-direction : column ; justify-content : center ; gap : 5 px ; border-right : 1 px solid var ( - - line ) ; } . raw-download-quota > div : last-child { border-right : 0 ; } . raw-download-quota span { color : var ( - - muted ) ; font-size : 10 px ; } . raw-download-quota strong { font-size : 12 px ; } . raw-download-content p { margin : 12 px 0 0 ; color : #9a5d25 ; font-size : 10 px ; line-height : 1.6 ; }
. raw-download-quota { margin-top : 14 px ; display : grid ; grid-template-columns : repeat ( 3 , 1 fr ) ; border : 1 px solid var ( - - line ) ; border-radius : 4 px ; } . raw-download-quota > div { min-height : 55 px ; padding : 9 px 11 px ; display : flex ; flex-direction : column ; justify-content : center ; gap : 5 px ; border-right : 1 px solid var ( - - line ) ; } . raw-download-quota > div : last-child { border-right : 0 ; } . raw-download-quota span { color : var ( - - muted ) ; font-size : 10 px ; } . raw-download-quota strong { font-size : 12 px ; } . raw-download-content p { margin : 12 px 0 0 ; color : #9a5d25 ; font-size : 10 px ; line-height : 1.6 ; }
. raw-download-dialog > footer { height : 62 px ; margin-top : 14 px ; padding : 0 20 px ; display : flex ; align-items : center ; justify-content : flex-end ; gap : 8 px ; border-top : 1 px solid var ( - - line ) ; } . raw-download-dialog > footer button { min-width : 88 px ; } . raw-download-dialog > footer . primary-command { display : flex ; align-items : center ; justify-content : center ; gap : 5 px ; } . raw-download-dialog > footer svg { width : 13 px ; }
. raw-download-dialog > footer { height : 62 px ; margin-top : 14 px ; padding : 0 20 px ; display : flex ; align-items : center ; justify-content : flex-end ; gap : 8 px ; border-top : 1 px solid var ( - - line ) ; } . raw-download-dialog > footer button { min-width : 88 px ; } . raw-download-dialog > footer . primary-command { display : flex ; align-items : center ; justify-content : center ; gap : 5 px ; } . raw-download-dialog > footer svg { width : 13 px ; }
. device-detail-page { flex : 1 ; min-height : 0 ; display : flex ; flex-direction : column ; overflow : hidden ; background : #f1f4f6 ; }
. device-detail-page { height : 100 % ; flex : 1 ; min-height : 0 ; display : flex ; flex-direction : column ; overflow : hidden ; background : #f1f4f6 ; pointer-events : auto ; }
. full-detail-header { min-height : 108 px ; padding : 12 px 24 px 16 px ; display : grid ; grid-template-columns : 1 fr auto ; align-items : end ; gap : 7 px 16 px ; background : #fff ; border-bottom : 1 px solid var ( - - line ) ; } . back-command { grid-column : 1 / 3 ; width : fit-content ; height : 24 px ; padding : 0 ; display : flex ; align-items : center ; gap : 4 px ; color : var ( - - muted ) ; background : transparent ; font-size : 11 px ; } . back-command : hover { color : var ( - - blue ) ; } . back-command svg { width : 12 px ; transform : rotate ( 180 deg ) ; } . full-detail-identity { min-width : 0 ; display : flex ; align-items : center ; gap : 11 px ; } . full-detail-identity > span { width : 40 px ; height : 40 px ; min-width : 40 px ; display : grid ; place-items : center ; border-radius : 5 px ; color : #226e55 ; background : #e5f3ed ; } . full-detail-identity > span . drone { color : #246aa9 ; background : #e6eff9 ; } . full-detail-identity > span svg { width : 19 px ; } . full-detail-identity > div { min-width : 0 ; } . full-detail-identity small { color : var ( - - muted ) ; font-size : 10 px ; } . full-detail-identity h1 { margin : 2 px 0 ; overflow : hidden ; font-size : 20 px ; text-overflow : ellipsis ; white-space : nowrap ; } . full-detail-identity p { margin : 0 ; color : var ( - - muted ) ; font-size : 11 px ; } . full-detail-identity > i { margin-left : 4 px ; } . full-detail-actions { display : flex ; align-items : center ; gap : 8 px ; } . full-detail-actions svg { width : 14 px ; }
. full-detail-header { min-height : 108 px ; padding : 12 px 24 px 16 px ; display : grid ; grid-template-columns : 1 fr auto ; align-items : end ; gap : 7 px 16 px ; background : #fff ; border-bottom : 1 px solid var ( - - line ) ; } . back-command { grid-column : 1 / 3 ; width : fit-content ; height : 24 px ; padding : 0 ; display : flex ; align-items : center ; gap : 4 px ; color : var ( - - muted ) ; background : transparent ; font-size : 11 px ; } . back-command : hover { color : var ( - - blue ) ; } . back-command svg { width : 12 px ; transform : rotate ( 180 deg ) ; } . full-detail-identity { min-width : 0 ; display : flex ; align-items : center ; gap : 11 px ; } . full-detail-identity > span { width : 40 px ; height : 40 px ; min-width : 40 px ; display : grid ; place-items : center ; border-radius : 5 px ; color : #226e55 ; background : #e5f3ed ; } . full-detail-identity > span . drone { color : #246aa9 ; background : #e6eff9 ; } . full-detail-identity > span svg { width : 19 px ; } . full-detail-identity > div { min-width : 0 ; } . full-detail-identity small { color : var ( - - muted ) ; font-size : 10 px ; } . full-detail-identity h1 { margin : 2 px 0 ; overflow : hidden ; font-size : 20 px ; text-overflow : ellipsis ; white-space : nowrap ; } . full-detail-identity p { margin : 0 ; color : var ( - - muted ) ; font-size : 11 px ; } . full-detail-identity > i { margin-left : 4 px ; } . full-detail-actions { display : flex ; align-items : center ; gap : 8 px ; } . full-detail-actions svg { width : 14 px ; }
. full-detail-actions [ hidden ] { display : none ; }
. full-detail-actions [ hidden ] { display : none ; }
. full-detail-tabs { height : 48 px ; min-height : 48 px ; padding : 0 24 px ; display : flex ; align-items : end ; gap : 28 px ; background : #fff ; border-bottom : 1 px solid var ( - - line ) ; } . full-detail-tabs button { position : relative ; height : 47 px ; padding : 0 2 px ; color : var ( - - muted ) ; background : transparent ; font-size : 13 px ; } . full-detail-tabs button b { margin-left : 3 px ; color : var ( - - red ) ; font-size : 10 px ; font-weight : 500 ; } . full-detail-tabs button . active { color : var ( - - blue ) ; font-weight : 600 ; } . full-detail-tabs button . active :: after { content : "" ; position : absolute ; left : 0 ; right : 0 ; bottom : -1 px ; height : 2 px ; background : var ( - - blue ) ; }
. full-detail-tabs { height : 48 px ; min-height : 48 px ; padding : 0 24 px ; display : flex ; align-items : end ; gap : 28 px ; background : #fff ; border-bottom : 1 px solid var ( - - line ) ; } . full-detail-tabs button { position : relative ; height : 47 px ; padding : 0 2 px ; color : var ( - - muted ) ; background : transparent ; font-size : 13 px ; } . full-detail-tabs button b { margin-left : 3 px ; color : var ( - - red ) ; font-size : 10 px ; font-weight : 500 ; } . full-detail-tabs button . active { color : var ( - - blue ) ; font-weight : 600 ; } . full-detail-tabs button . active :: after { content : "" ; position : absolute ; left : 0 ; right : 0 ; bottom : -1 px ; height : 2 px ; background : var ( - - blue ) ; }
@ -627,7 +627,7 @@ svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width:
margin-bottom : 17px ;
margin-bottom : 17px ;
}
}
. control-page { min- height: 100 vh ; overflow : auto ; background : #f3f6f8 ; }
. control-page { height : 100 % ; min-height : 0 ; overflow : auto ; background : #f3f6f8 ; pointer-events : auto ; }
. control-page-header { padding : 18 px 24 px ; background : #fff ; border-bottom : 1 px solid var ( - - line ) ; }
. control-page-header { padding : 18 px 24 px ; background : #fff ; border-bottom : 1 px solid var ( - - line ) ; }
. control-page-header h1 { margin : 0 0 5 px ; font-size : 22 px ; }
. control-page-header h1 { margin : 0 0 5 px ; font-size : 22 px ; }
. control-workspace { min-height : calc ( 100 vh - 76 px ) ; display : grid ; grid-template-columns : 300 px minmax ( 0 , 1 fr ) ; gap : 14 px ; padding : 14 px ; }
. control-workspace { min-height : calc ( 100 vh - 76 px ) ; display : grid ; grid-template-columns : 300 px minmax ( 0 , 1 fr ) ; gap : 14 px ; padding : 14 px ; }
@ -890,3 +890,13 @@ svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width:
. recharge-modal-footer . confirm : disabled { opacity : .6 ; cursor : not-allowed ; }
. recharge-modal-footer . confirm : disabled { opacity : .6 ; cursor : not-allowed ; }
@ media ( max-width : 900px ) { . account-identity-strip { grid-template-columns : 1 fr 1 fr ; } . account-resource-grid { grid-template-columns : 1 fr ; } . cloud-media-stats { grid-template-columns : repeat ( 2 , 1 fr ) ; } . cloud-media-stats > div : nth-child ( 2 ) { border-right : 0 ; } . cloud-media-stats > div : nth-child ( -n + 2 ) { border-bottom : 1 px solid var ( - - line ) ; } }
@ media ( max-width : 900px ) { . account-identity-strip { grid-template-columns : 1 fr 1 fr ; } . account-resource-grid { grid-template-columns : 1 fr ; } . cloud-media-stats { grid-template-columns : repeat ( 2 , 1 fr ) ; } . cloud-media-stats > div : nth-child ( 2 ) { border-right : 0 ; } . cloud-media-stats > div : nth-child ( -n + 2 ) { border-bottom : 1 px solid var ( - - line ) ; } }
@ media ( max-width : 620px ) { . account-identity-strip { grid-template-columns : 1 fr ; } . communication-status-grid { grid-template-columns : repeat ( 3 , 1 fr ) ; } . carrier-package-grid { grid-template-columns : repeat ( 2 , 1 fr ) ; } }
@ media ( max-width : 620px ) { . account-identity-strip { grid-template-columns : 1 fr ; } . communication-status-grid { grid-template-columns : repeat ( 3 , 1 fr ) ; } . carrier-package-grid { grid-template-columns : repeat ( 2 , 1 fr ) ; } }
/* 非 monitor 页盖住全局地图;可点击子页根节点 */
. replay-header ,
. replay-map-back ,
. replay-map-legend ,
. replay-telemetry ,
. replay-controller {
pointer-events : auto ;
}