:root{--primary-color: #22548A;--primary-hover: #2F68A0;--primary-bg: #E6F0FB;--success-color: #16A34A;--warning-color: #D97706;--danger-color: #DC2626;--text-primary: #121922;--text-secondary: #424851;--text-tertiary: #6F757D;--bg-page: #F4F7FA;--bg-content: #FFFFFF;--bg-gray: #E9EDF3;--bg-hover: #EFF3F8;--border-color: #E1E6EC;--border-light: #E9EDF2;--border-dark: #BCC1C8;--hair: #DADEE3;--shadow-card: 0 1px 2px rgba(14, 20, 29, .04), 0 8px 24px rgba(14, 20, 29, .05);--shadow-header: 0 1px 0 rgba(255, 255, 255, .7) inset, 0 1px 0 rgba(14, 20, 29, .04), 0 4px 16px rgba(14, 20, 29, .05);--shadow-hover: 0 4px 18px rgba(14, 20, 29, .08);--shadow-modal: 0 10px 40px rgba(14, 20, 29, .14);--radius-lg: 12px;--radius-xl: 16px}body{background-color:var(--bg-page)}#root:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(55% 40% at 18% -4%,rgba(34,84,138,.06),transparent 62%)}.ant-layout-sider{background:#ffffffdb!important;border-right:1px solid var(--hair)!important;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.sidebar-logo{background:transparent!important;border-bottom:1px solid var(--hair)!important}.sidebar-logo-icon{color:var(--primary-color)!important}.sidebar-logo-text{color:var(--text-primary)!important}.ant-menu-dark,.ant-menu-dark .ant-menu{background:transparent!important}.ant-menu-dark:not(.ant-menu-horizontal) .ant-menu-item{color:var(--text-secondary)!important;border-radius:10px;margin-inline:10px;width:auto}.ant-menu-dark .ant-menu-item .anticon{color:inherit}.ant-menu-dark:not(.ant-menu-horizontal) .ant-menu-item:hover{color:var(--text-primary)!important;background:var(--bg-hover)!important}.ant-menu-dark .ant-menu-item-selected{background:var(--primary-bg)!important;color:var(--primary-color)!important;font-weight:600}.ant-menu-dark .ant-menu-item-selected .anticon{color:var(--primary-color)!important}.ant-menu .ant-menu-item-selected:after{border-right-color:var(--primary-color)!important}.ant-layout-sider-trigger{background:transparent!important;border-top:1px solid var(--hair);color:var(--text-secondary)!important}.ant-layout-sider-trigger:hover{color:var(--primary-color)!important}.header-bar{background:#ffffffc7!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--hair)!important}.header-trigger:hover{color:var(--primary-color)}.page-content{background:transparent}.mobile-header{background:#ffffffeb!important;border-bottom:1px solid var(--hair)}.mobile-bottom-nav{background:#ffffffeb!important;border-top:1px solid var(--hair)}.mobile-nav-item--active{color:var(--primary-color)!important}@media (max-width: 768px){.mobile-bottom-nav{position:fixed;bottom:0;left:0;right:0;height:auto;min-height:56px;padding-bottom:max(4px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-around;z-index:100}.mobile-bottom-nav.scrollable{overflow-x:auto;justify-content:flex-start;gap:2px;padding-left:8px;padding-right:8px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.mobile-bottom-nav.scrollable::-webkit-scrollbar{display:none}.mobile-nav-item{padding:6px 12px;min-width:56px;min-height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:color .15s}.mobile-nav-icon{font-size:20px;line-height:1}.mobile-nav-label{font-size:10px;line-height:1.2;margin-top:2px;white-space:nowrap}.mobile-nav-item--inactive{color:var(--text-tertiary)}.mobile-header{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:56px;padding-top:env(safe-area-inset-top,0)}.mobile-header-left{display:flex;align-items:center;gap:8px}.mobile-header .user-info{min-height:44px;display:flex;align-items:center}.mobile-drawer-user-section{display:flex;align-items:center;gap:10px;padding:16px;border-bottom:1px solid var(--hair);background:var(--bg-gray)}.mobile-drawer-logout{margin-left:auto;font-size:12px;color:var(--danger-color);cursor:pointer;padding:8px 12px;min-height:44px;display:flex;align-items:center}.mobile-content{margin-top:64px;margin-bottom:max(60px,env(safe-area-inset-bottom));padding:12px 16px;background:var(--bg-page)}}.stat-card,.sensor-card,.device-detail-header{background:var(--bg-content)!important;border-color:var(--hair)!important;box-shadow:var(--shadow-card)!important;border-radius:var(--radius-lg)}.stat-card:hover{box-shadow:var(--shadow-hover)!important;border-color:var(--primary-hover)!important}.sensor-value-icon{background:var(--primary-bg)!important;color:var(--primary-color);border-radius:10px}.unified-table .ant-table-thead>tr>th{background:var(--bg-gray)!important;color:var(--text-secondary)}.user-info:hover{background:var(--bg-hover)}.login-container.login-user{background:var(--bg-page);min-height:100vh;display:flex;justify-content:center;align-items:center;padding:24px;position:relative}.login-container.login-user:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(55% 40% at 50% -6%,rgba(34,84,138,.08),transparent 62%)}.login-container.login-user .login-right{width:100%;max-width:430px;background:#ffffffeb!important;border:1px solid var(--hair);border-radius:24px;box-shadow:var(--shadow-modal);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:44px 40px;position:relative;z-index:1;flex-direction:column}.login-container.login-user .login-card{max-width:100%}.login-container.login-user .login-eyebrow{color:var(--primary-color)!important;background:var(--primary-bg)!important;border:1px solid rgba(34,84,138,.16)!important}.login-container.login-user .login-btn{background:var(--primary-color)!important;box-shadow:0 8px 24px #22548a42!important}.login-container.login-user .custom-input{background:#f4f7facc!important;border:1.5px solid var(--hair)!important}.login-container.login-user .custom-input:hover,.login-container.login-user .custom-input:focus-within{border-color:var(--primary-color)!important;background:#fff!important;box-shadow:0 0 0 3px #22548a1f!important}.login-container.login-user .ant-tabs-ink-bar{background:var(--primary-color)!important}.ant-card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.ant-card-hoverable:hover{transform:translateY(-2px)}.ant-btn-primary{background:var(--primary-color)!important;border:none!important;box-shadow:0 6px 16px #22548a38!important}.ant-btn-primary:not(:disabled):hover{background:var(--primary-hover)!important;box-shadow:0 8px 20px #22548a47!important;transform:translateY(-1px)}.ant-btn-primary:not(:disabled):active{transform:translateY(0);box-shadow:0 4px 10px #22548a2e!important}.ant-btn-primary:disabled{background:#22548a59!important}.ant-btn:not(.ant-btn-primary):not(.ant-btn-link){box-shadow:0 1px 2px #0e141d0a;border-color:var(--hair)}.ant-segmented{background:var(--bg-hover);padding:3px;border:1px solid var(--border-light)}.ant-segmented-item-selected{background:#ffffffeb!important;box-shadow:0 1px 4px #0e141d1a;border-radius:8px}.unified-table .ant-table-tbody>tr:hover>td,.ant-table-wrapper .ant-table-tbody>tr:hover>td{background:var(--bg-hover)!important}.ant-input-affix-wrapper:focus-within,.ant-input:focus,.ant-input-focused,.ant-select-focused .ant-select-selector{border-color:var(--primary-color)!important;box-shadow:0 0 0 3px #22548a1f!important}.ant-modal-content,.ant-drawer-content{background:#fffffff2!important;backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important;border:1px solid var(--hair)}.ant-modal-header,.ant-drawer-header{background:transparent!important;border-bottom:1px solid var(--border-light)!important}.ant-select-dropdown,.ant-picker-dropdown .ant-picker-panel-container{background:#fffffff7!important;-webkit-backdrop-filter:blur(16px)!important;backdrop-filter:blur(16px)!important;box-shadow:var(--shadow-modal)!important;border:1px solid var(--hair);border-radius:12px}.ant-empty-description{color:var(--text-tertiary)}.ant-empty .ant-empty-img-simple-ellipse,.ant-empty .ant-empty-img-simple-path{fill:var(--bg-gray)}.ant-pagination-item-active{border-color:var(--primary-color)!important}.ant-pagination-item-active a{color:var(--primary-color)!important}.ant-tabs .ant-tabs-ink-bar{border-radius:2px}.device-card-avatar{background:linear-gradient(135deg,#f4f7fa,#e6f0fb)!important;border-color:var(--hair)!important}.device-card-row--selected:hover{background-color:var(--primary-bg)!important}.rule-type-card.ant-radio-wrapper-checked[value=scene] .rule-type-inner{box-shadow:0 4px 14px #22548a2e!important}
