.page { position: relative; min-height: 100vh; background: $color-bg; padding-bottom: 40px; } .stateWrap { margin-top: 80px; display: flex; flex-direction: column; align-items: center; } // 绿色衬底:占位高度与浮卡上浮量(-40px)匹配,卡片叠在它上面而不是压进导航栏 .heroSpace { height: 64px; background: #2ccb98; margin-bottom: -40px; position: relative; z-index: 1; } // 设备应用家庭信息卡:白色卡片浮在绿色头部下,浅灰行内分隔 .familyCard { margin: 0 24px; padding: 8px 32px 32px; background: $color-bg-white; border-radius: $radius-lg; box-shadow: $shadow-card; position: relative; z-index: 2; } .familyRow { min-height: 104px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid $color-border; } .familyLabel { font-size: 30px; color: $color-text-secondary; } .familyValue { font-size: 30px; color: $color-text; font-weight: 600; } .switchBtn { width: 100%; margin-top: 24px; height: 88px; background: $color-primary-grad; border-radius: $radius-pill; display: flex; align-items: center; justify-content: center; } .switchBtnPressed { opacity: 0.85; } .switchBtnText { font-size: 30px; color: #ffffff; font-weight: 600; } // 房间管理 / 添加设备 两张并排功能卡 .funcRow { display: flex; padding: 24px; gap: 24px; } .funcCard { flex: 1; height: 144px; background: $color-bg-white; border-radius: $radius-md; box-shadow: $shadow-card; display: flex; flex-direction: column; align-items: center; justify-content: center; } .funcCardPressed { background: $color-bg-press; } .funcIcon { font-size: 56px; color: $color-primary; line-height: 1; margin-bottom: 12px; } .funcText { font-size: 28px; color: $color-text; font-weight: 600; } // 设备网格 .grid { display: flex; flex-wrap: wrap; justify-content: space-between; padding: 0 24px; } .card { width: 48.5%; margin-bottom: 24px; padding: 36px 20px 28px; box-sizing: border-box; background: $color-bg-white; border-radius: $radius-lg; box-shadow: $shadow-card; display: flex; flex-direction: column; align-items: center; } .icon { width: 108px; height: 108px; border-radius: $radius-circle; background: $color-primary-grad; display: flex; align-items: center; justify-content: center; margin-bottom: 20px; } .iconOffline { background: $color-bg-disabled; } .iconText { font-size: 36px; color: #ffffff; } .iconOffline .iconText { color: $color-text-tertiary; } .name { max-width: 100%; font-size: 28px; font-weight: 600; color: $color-text; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .statusRow { margin-top: 12px; display: flex; align-items: center; } .dot { width: 14px; height: 14px; border-radius: $radius-circle; margin-right: 10px; } .dotOn { background: $color-primary; } .dotOff { background: $color-text-placeholder; } .statusText { font-size: 24px; color: $color-primary-deep; } .statusTextOff { color: $color-text-secondary; } // 切换家庭圈弹层内的列表项 .sheetList { padding-bottom: 16px; } .sheetItem { padding: 24px 32px; background: $color-bg-gray; border-radius: $radius-md; margin-bottom: 16px; } .sheetItemActive { background: $color-primary-light-bg; border: 2px solid $color-primary; } .sheetHead { display: flex; align-items: center; margin-bottom: 12px; } .sheetName { font-size: 32px; color: $color-text; font-weight: 600; margin-right: 16px; } .sheetRole { padding: 4px 12px; background: $color-bg-disabled; border-radius: $radius-sm; } .sheetRoleText { font-size: 22px; color: $color-text-secondary; } .sheetItemActive .sheetRole { background: $color-bg-white; } .sheetItemActive .sheetRoleText { color: $color-primary-deep; } .sheetMeta { display: flex; justify-content: space-between; } .sheetMetaItem { font-size: 24px; color: $color-text-secondary; } .sheetItemActive .sheetMetaItem { color: $color-text; } .sheetConfirm { margin: 16px 0 32px; height: 96px; background: $color-primary-grad; border-radius: $radius-pill; display: flex; align-items: center; justify-content: center; } .sheetConfirmPressed { opacity: 0.85; } .sheetConfirmText { font-size: 32px; color: #ffffff; font-weight: 600; }