:root{--font-size-xs:12px;--font-size-sm:13px;--font-size-base:14px;--font-size-md:16px;--font-size-lg:18px;--font-size-xl:20px;--font-size-xxl:24px;--font-size-xxxl:32px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:12px;--spacing-base:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-xxl:48px;--radius-sm:4px;--radius-base:8px;--radius-lg:12px;--radius-xl:16px;--icon-size-sm:16px;--icon-size-base:20px;--icon-size-lg:24px;--icon-size-xl:32px;--card-padding:24px;--card-header-height:56px;--table-row-height:54px;--table-header-height:55px;--sider-width:200px;--sider-collapsed-width:80px;--header-height:64px}@media screen and (max-width:1600px){:root{--spacing-lg:20px;--spacing-xl:28px;--card-padding:20px;--sider-width:188px;--header-height:56px}.site-layout-content{padding:16px!important;padding:var(--spacing-base,16px)!important}}@media screen and (max-width:1366px){:root{--font-size-base:13px;--font-size-md:15px;--spacing-lg:16px;--card-padding:16px;--sider-width:180px;--header-height:52px;--table-row-height:48px}}@media screen and (min-width:2400px) and (max-width:3200px){:root{--font-size-xs:13px;--font-size-sm:14px;--font-size-base:15px;--font-size-md:16px;--font-size-lg:18px;--font-size-xl:21px;--font-size-xxl:26px;--font-size-xxxl:34px;--spacing-xs:5px;--spacing-sm:9px;--spacing-md:13px;--spacing-base:18px;--spacing-lg:26px;--spacing-xl:36px;--spacing-xxl:52px;--radius-sm:5px;--radius-base:9px;--radius-lg:13px;--radius-xl:18px;--icon-size-sm:18px;--icon-size-base:22px;--icon-size-lg:26px;--icon-size-xl:34px;--card-padding:26px;--card-header-height:58px;--table-row-height:56px;--table-header-height:58px;--sider-width:220px;--sider-collapsed-width:88px;--header-height:68px}html{font-size:15px}body{font-size:14px;font-size:var(--font-size-base)}}@media screen and (min-width:3200px){:root{--font-size-xs:14px;--font-size-sm:15px;--font-size-base:16px;--font-size-md:18px;--font-size-lg:20px;--font-size-xl:24px;--font-size-xxl:30px;--font-size-xxxl:40px;--spacing-xs:6px;--spacing-sm:10px;--spacing-md:14px;--spacing-base:18px;--spacing-lg:28px;--spacing-xl:40px;--spacing-xxl:56px;--radius-sm:6px;--radius-base:10px;--radius-lg:14px;--radius-xl:20px;--icon-size-sm:20px;--icon-size-base:24px;--icon-size-lg:28px;--icon-size-xl:36px;--card-padding:28px;--card-header-height:60px;--table-row-height:56px;--table-header-height:58px;--sider-width:240px;--sider-collapsed-width:96px;--header-height:72px}html{font-size:16px}body{font-size:14px;font-size:var(--font-size-base)}}@media screen and (min-width:2400px){.ant-btn{font-size:14px!important}.ant-btn-lg{font-size:16px!important}}@media screen and (min-width:3200px){.ant-btn{font-size:15px!important}.ant-btn-lg{font-size:17px!important}}@media screen and (min-width:2400px){.ant-input,.ant-input-affix-wrapper,.ant-picker,.ant-select-selector{font-size:14px!important}}@media screen and (min-width:3200px){.ant-input,.ant-input-affix-wrapper,.ant-picker,.ant-select-selector{font-size:15px!important}}@media screen and (min-width:2400px){.ant-table,.ant-table-tbody>tr>td,.ant-table-thead>tr>th{font-size:14px!important}.ant-card-head-title{font-size:15px!important}.ant-modal-title{font-size:17px!important}.ant-menu-item,.ant-menu-submenu-title,.ant-tabs-tab{font-size:14px!important}}@media screen and (min-width:3200px){.ant-table,.ant-table-tbody>tr>td,.ant-table-thead>tr>th{font-size:15px!important}.ant-card-head-title{font-size:16px!important}.ant-modal-title{font-size:18px!important}.ant-menu-item,.ant-menu-submenu-title,.ant-tabs-tab{font-size:15px!important}}@media screen and (min-width:2400px) and (max-width:3200px){.ant-layout-sider:not(.ant-layout-sider-collapsed){flex:0 0 220px!important;max-width:220px!important;min-width:220px!important;width:220px!important}.dashboard-layout>.ant-layout{margin-left:220px!important}}@media screen and (min-width:3200px){.ant-layout-sider:not(.ant-layout-sider-collapsed){flex:0 0 240px!important;max-width:240px!important;min-width:240px!important;width:240px!important}.dashboard-layout>.ant-layout{margin-left:240px!important}}@media screen and (min-width:2400px) and (max-width:3200px){.stat-card{height:130px!important;min-height:130px!important}.stat-card .ant-card-body{padding:18px!important}.stat-icon{border-radius:12px!important;height:58px!important;margin-right:16px!important;min-height:58px!important;min-width:58px!important;width:58px!important}.stat-icon,.stat-icon .anticon{font-size:28px!important}.stat-title{font-size:13px!important;margin-bottom:6px!important}.stat-value{font-size:34px!important}.stat-unit{font-size:14px!important}.quick-action{padding:26px!important}.action-icon{border-radius:16px!important;font-size:34px!important;height:76px!important;margin-bottom:12px!important;width:76px!important}.action-text{font-size:15px!important}.booking-date{border-radius:12px!important;height:64px!important;width:64px!important}.date-day{font-size:26px!important}.date-month{font-size:12px!important}.company-logo{height:40px!important}.company-logo-text{font-size:18px!important}}@media screen and (min-width:3200px){.company-logo{height:44px!important}.company-logo-text{font-size:20px!important}}.page-header{padding:24px 32px!important;padding:var(--spacing-lg) var(--spacing-xl)!important}.page-header-title{font-size:20px!important;font-size:var(--font-size-xl)!important}.page-header-subtitle{font-size:14px!important;font-size:var(--font-size-base)!important}@media screen and (min-width:2400px) and (max-width:3200px){.recharts-cartesian-axis-tick-value,.recharts-legend-item-text,.recharts-text,.recharts-tooltip-item,.recharts-tooltip-label{font-size:14px!important}}@media screen and (min-width:3200px){.recharts-cartesian-axis-tick-value,.recharts-legend-item-text,.recharts-text,.recharts-tooltip-item,.recharts-tooltip-label{font-size:16px!important}}.ant-menu-dark .ant-menu-sub .ant-menu-item,.ant-menu-dark.ant-menu-inline .ant-menu-sub.ant-menu-inline>.ant-menu-item,.ant-menu-inline .ant-menu-sub.ant-menu-inline>.ant-menu-item,.ant-menu-inline .ant-menu-sub.ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title{padding-left:48px!important}.ant-menu-sub.ant-menu-inline{background:#00000026!important}.ant-menu-dark .ant-menu-sub.ant-menu-inline{background:#0003!important}.ant-menu-inline .ant-menu-sub .ant-menu-item .anticon{margin-right:10px}.ant-table,.ant-table table,.ant-table-container,.ant-table-wrapper{width:100%!important}.ant-table table{table-layout:auto!important}.ant-table-tbody>tr>td,.ant-table-thead>tr>th{max-width:none!important;min-width:0!important;min-width:auto!important;width:auto!important}.ant-table-thead>tr>th{padding:14px 20px!important;text-align:left;white-space:nowrap!important}.ant-table-tbody>tr>td{padding:14px 20px!important;white-space:nowrap}.ant-table-tbody>tr>td,.ant-table-thead>tr>th{text-align:left!important}.ant-table-tbody>tr>td:first-child,.ant-table-thead>tr>th:first-child{padding-left:20px!important;text-align:left!important}.ant-table-tbody>tr>td:last-child,.ant-table-thead>tr>th:last-child{text-align:center!important;white-space:nowrap!important}.ant-card-body .ant-table-wrapper{width:100%!important}.ant-card-body{overflow:visible}.ant-table-tbody>tr:hover>td{background:#fafafa!important}.ant-card,.ant-row,.page-container,.site-layout-content{width:100%}@media screen and (min-width:3200px){.stat-card{height:140px!important;min-height:140px!important}.stat-card .ant-card-body{padding:20px!important}.stat-icon{border-radius:14px!important;height:64px!important;margin-right:18px!important;min-height:64px!important;min-width:64px!important;width:64px!important}.stat-icon,.stat-icon .anticon{font-size:32px!important}.stat-title{font-size:14px!important;margin-bottom:8px!important}.stat-value{font-size:38px!important}.stat-unit{font-size:16px!important}.quick-action{padding:28px!important}.action-icon{border-radius:18px!important;font-size:36px!important;height:80px!important;margin-bottom:14px!important;width:80px!important}.action-text{font-size:16px!important}.booking-date{border-radius:14px!important;height:70px!important;width:70px!important}.date-day{font-size:28px!important}.date-month{font-size:13px!important}.booking-list-card,.hot-rooms-card{height:640px!important}}*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.ant-statistic-content-value,.ant-statistic-content-value-decimal,.ant-statistic-content-value-int{animation:none!important;transition:none!important}*{scrollbar-color:#0003 #0000;scrollbar-width:thin}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#0000!important}::-webkit-scrollbar-thumb{background:#00000026;border-radius:4px;-webkit-transition:background .3s;transition:background .3s}::-webkit-scrollbar-thumb:hover{background:#00000040}.ant-modal-body::-webkit-scrollbar-thumb,.ant-table-body::-webkit-scrollbar-thumb{background:#0000}.ant-modal-body:hover::-webkit-scrollbar-thumb,.ant-table-body:hover::-webkit-scrollbar-thumb{background:#00000026}.ant-table-wrapper{overflow-x:auto;overflow-y:hidden}.ant-table-body{overflow-x:auto!important;overflow-y:auto!important}.ant-modal-body{overflow-x:hidden!important}.ant-card-body{overflow-x:hidden}.ant-card-body::-webkit-scrollbar,.ant-card::-webkit-scrollbar{display:none}.ant-card,.ant-card-body{-ms-overflow-style:none;scrollbar-width:none}.ant-statistic::-webkit-scrollbar{display:none}.ant-layout-sider ::-webkit-scrollbar-thumb,.ant-menu-dark ::-webkit-scrollbar-thumb,[data-theme=dark] ::-webkit-scrollbar-thumb{background:#ffffff26!important}.ant-layout-sider ::-webkit-scrollbar-thumb:hover,.ant-menu-dark ::-webkit-scrollbar-thumb:hover,[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#ffffff40!important}.ant-spin-blur .ant-empty,.ant-spin-blur .ant-list-empty-text,.ant-spin-blur .ant-table-placeholder{visibility:hidden!important}:root{--primary-color:#1890ff;--primary-light:#40a9ff;--primary-dark:#096dd9;--secondary-color:#2f54eb;--gradient-start:#1890ff;--gradient-end:#096dd9}.page-container{background:#fff;min-height:calc(100vh - 64px);padding:24px}.custom-card{border-radius:12px;transition:all .3s}.custom-card:hover{box-shadow:0 4px 16px #0000001f}.custom-card .ant-card-head{background:linear-gradient(135deg,var(--gradient-start) 0,var(--gradient-end) 100%);border-radius:12px 12px 0 0;color:#fff;padding:16px 24px}.custom-card .ant-card-head-title{font-size:18px}.custom-card .ant-card-extra{color:#fff}.custom-card .ant-card-extra .ant-btn{background:#1890ff!important;background-color:#1890ff!important;border:0!important;box-shadow:none!important;color:#fff!important;font-weight:600}.custom-card .ant-card-extra .ant-btn:active,.custom-card .ant-card-extra .ant-btn:focus,.custom-card .ant-card-extra .ant-btn:hover{background:#1890ff!important;background-color:#1890ff!important;border:0!important;box-shadow:none!important;color:#fff!important;opacity:.85}.custom-table{background:#fff;overflow:hidden}.custom-table,.custom-table .ant-table{border-radius:12px}.custom-table .ant-table-thead>tr>th{background:#fafafa;border-bottom:2px solid #f0f0f0;color:#333;font-weight:600}.custom-table .ant-table-tbody>tr:hover>td{background:#f5f7ff}.custom-table .ant-table-tbody>tr>td{padding:16px}.search-bar{border-radius:12px;box-shadow:0 2px 8px #0000000f;margin-bottom:24px;padding:20px 24px}.search-bar .ant-form-item{margin-bottom:0}.search-bar .ant-btn{border-radius:8px;font-weight:600;height:40px}.search-bar .ant-btn-primary{background:linear-gradient(135deg,#1890ff,#096dd9);background:linear-gradient(135deg,var(--gradient-start) 0,var(--gradient-end) 100%);border:none;box-shadow:0 2px 8px #1890ff4d}.search-bar .ant-btn-primary:hover{box-shadow:0 4px 12px #1890ff66}.action-buttons{display:flex;gap:8px;justify-content:flex-end;margin-bottom:16px}.action-buttons .ant-btn{border-radius:8px;box-shadow:0 2px 4px #0000001a;font-weight:600;height:40px;padding:0 24px;transition:all .3s}.action-buttons .ant-btn-primary{background:linear-gradient(135deg,#1890ff,#096dd9);background:linear-gradient(135deg,var(--gradient-start) 0,var(--gradient-end) 100%);border:none}.action-buttons .ant-btn-primary:hover{box-shadow:0 4px 12px #1890ff4d;transform:translateY(-2px)}.status-tag{border-radius:12px;font-size:12px;font-weight:500;padding:4px 12px}.empty-state{padding:60px 0;text-align:center}.empty-state .ant-empty-image{margin-bottom:24px}.empty-state .ant-empty-description{color:#999;font-size:14px;margin-bottom:24px}.stat-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;overflow:hidden;padding:24px;position:relative;transition:all .3s}.stat-card:before{background:linear-gradient(90deg,#1890ff,#096dd9);background:linear-gradient(90deg,var(--gradient-start) 0,var(--gradient-end) 100%);content:"";height:4px;left:0;position:absolute;right:0;top:0}.stat-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-4px)}.stat-card-title{color:#999;font-size:14px;margin-bottom:12px}.stat-card-value{color:#333;font-size:32px;font-weight:600;margin-bottom:8px}.stat-card-footer{color:#666;font-size:12px}.filter-bar{border-radius:12px;gap:16px;margin-bottom:16px}.filter-bar .ant-radio-group{display:flex;gap:8px}.filter-bar .ant-radio-button-wrapper{border:1px solid #d9d9d9;border-radius:8px;padding:4px 16px;transition:all .3s}.filter-bar .ant-radio-button-wrapper-checked{background:linear-gradient(135deg,#1890ff,#096dd9);background:linear-gradient(135deg,var(--gradient-start) 0,var(--gradient-end) 100%);border-color:#1890ff;border-color:var(--primary-color);color:#fff}.filter-bar .ant-radio-button-wrapper:hover{border-color:#1890ff;border-color:var(--primary-color);color:#1890ff;color:var(--primary-color)}.page-breadcrumb{margin-bottom:16px}.page-breadcrumb .ant-breadcrumb{font-size:14px}.page-header{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;padding:24px}.page-header-title{color:#333;font-size:20px;font-weight:600;margin:0 0 8px}.page-header-description{color:#666;font-size:14px;margin:0}.loading-container{min-height:400px}.custom-form .ant-form-item-label>label{color:#333;font-weight:500}.custom-form .ant-input,.custom-form .ant-input-number,.custom-form .ant-picker,.custom-form .ant-select-selector{border-color:#e0e0e0;border-radius:8px;transition:all .3s}.custom-form .ant-input-number:hover,.custom-form .ant-input:hover,.custom-form .ant-picker:hover,.custom-form .ant-select-selector:hover{border-color:#1890ff;border-color:var(--primary-color)}.custom-form .ant-input-number:focus,.custom-form .ant-input:focus,.custom-form .ant-picker-focused,.custom-form .ant-select-focused .ant-select-selector{border-color:#1890ff;border-color:var(--primary-color);box-shadow:0 0 0 2px #1890ff1a}.ant-input-search-button{background-color:#fff!important;border:1px solid #d9d9d9!important;border-left:0!important;border-radius:0 6px 6px 0!important}.ant-input-search .ant-input,.ant-input-search .ant-input-affix-wrapper{border-right:0!important}.ant-input-search>.ant-input-group>.ant-input-group-addon{background-color:#fff!important;border:1px solid #d9d9d9!important;border-left:0!important}.ant-input-search>.ant-input-group>.ant-input-group-addon .ant-btn{background:#0000!important;border:none!important;box-shadow:none!important}@media (max-width:768px){.page-container{padding:16px}.custom-card,.filter-bar,.page-header,.search-bar{border-radius:8px}.action-buttons{flex-direction:column}.action-buttons .ant-btn{width:100%}}.ant-modal .ant-modal-close,.ant-modal-wrap .ant-modal-close{align-items:center;display:flex!important;justify-content:center;opacity:1!important;visibility:visible!important}.ant-modal-mask{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0000008c}.ant-modal{top:50px}.ant-modal-content{border-radius:16px;box-shadow:0 12px 48px #00000026,0 0 1px #0000001a;overflow:hidden}.ant-modal-header{background:#fff;border-bottom:1px solid #f0f0f0;border-radius:16px 16px 0 0;margin-bottom:0;padding:20px 28px 16px}.ant-modal-header:hover .ant-modal-close{opacity:1!important;visibility:visible!important}.ant-modal-title{align-items:center;color:#000000e0;display:flex;font-size:16px;font-weight:600;gap:8px;letter-spacing:0;line-height:1.4}.ant-modal-title .anticon{color:#1890ff;font-size:18px}.ant-modal-close{border-radius:6px;height:32px;opacity:1!important;right:20px;top:16px;transition:all .3s;visibility:visible!important;width:32px}.ant-modal-close:hover{background:#0000000f}.ant-modal-close-x{color:#00000073;font-size:16px;height:32px;line-height:32px;opacity:1!important;width:32px}.ant-modal-close:hover .ant-modal-close-x{color:#000000e0}.ant-modal-body{max-height:calc(100vh - 300px);overflow-y:auto;padding:24px 28px!important}.ant-modal-body::-webkit-scrollbar{width:8px}.ant-modal-body::-webkit-scrollbar-track{background:#f0f0f0;border-radius:4px}.ant-modal-body::-webkit-scrollbar-thumb{background:#bfbfbf;border-radius:4px}.ant-modal-body::-webkit-scrollbar-thumb:hover{background:#999}.ant-modal-footer{align-items:center;background:#fff;border-radius:0 0 16px 16px;border-top:1px solid #f0f0f0;display:flex!important;flex-wrap:wrap;gap:12px;justify-content:flex-end;padding:12px 28px 16px!important}.ant-modal-footer .ant-btn{border-radius:6px;font-size:14px;font-weight:400;height:36px;margin:0!important;min-width:72px;padding:0 20px}.ant-modal-footer .ant-btn+.ant-btn{-webkit-margin-start:0!important;margin-inline-start:0!important}.ant-modal-footer .ant-btn-default{background:#fff;border:1px solid #d9d9d9;color:#000000e0;transition:all .2s}.ant-modal-footer .ant-btn-default:hover{border-color:#1890ff;color:#1890ff}.ant-modal-footer .ant-btn-primary{background:#1890ff;border:1px solid #1890ff;box-shadow:none;transition:all .2s}.ant-modal-footer .ant-btn-primary:hover{background:#40a9ff;border-color:#40a9ff}.ant-modal-footer .ant-btn-dangerous{background:#ff4d4f;border:1px solid #ff4d4f;color:#fff}.ant-modal-footer .ant-btn-dangerous:hover{background:#ff7875;border-color:#ff7875}.ant-modal-body .ant-form{margin-top:0!important}.ant-modal-body .ant-form-item .ant-form-item-label,.ant-modal-body .ant-form-vertical .ant-form-item-label{margin:0!important;padding:0 0 8px!important}.ant-modal-body .ant-form-item-label>label{color:#000000e0;font-size:14px;font-weight:400!important;height:auto!important}.ant-modal-body .ant-form-item-label>label.ant-form-item-required:before{-webkit-margin-end:2px!important;color:#ff4d4f;font-size:14px;margin-inline-end:2px!important}.ant-modal-body .ant-form-item{margin-bottom:22px!important}.ant-modal-body .ant-form>.ant-form-item:last-child,.ant-modal-body .ant-form>.ant-row:last-child>.ant-col>.ant-form-item,.ant-modal-body .ant-form>div:last-child>.ant-form-item:last-child{margin-bottom:0!important}.ant-modal-body .ant-form .ant-row{margin-left:-12px!important;margin-right:-12px!important;row-gap:0!important}.ant-modal-body .ant-form .ant-row>.ant-col{padding-left:12px!important;padding-right:12px!important}.ant-modal-body .modal-form-grid-2{grid-column-gap:24px;grid-row-gap:0;column-gap:24px;display:grid;grid-template-columns:1fr 1fr;row-gap:0}.ant-modal-body .modal-form-grid-2>.ant-form-item{margin-bottom:22px!important}.ant-modal-body .modal-form-grid-2>.ant-form-item.modal-form-span-2{grid-column:1/-1}.ant-modal-body .ant-tabs{margin-top:0}.ant-modal-body .ant-tabs-nav{margin-bottom:20px!important}.ant-modal-body .ant-tabs-content-holder{padding-top:0}.ant-modal-body .ant-input,.ant-modal-body .ant-input-affix-wrapper,.ant-modal-body .ant-input-number,.ant-modal-body .ant-picker,.ant-modal-body .ant-select-selector{border:1px solid #d9d9d9;border-radius:6px!important;transition:all .2s}.ant-modal-body .ant-input,.ant-modal-body .ant-input-affix-wrapper{padding-left:12px!important;padding-right:12px!important}.ant-modal-body .ant-input-number-input{padding-left:12px!important}.ant-modal-body .ant-select-single .ant-select-selector{padding-inline:12px!important}.ant-modal-body .ant-input-affix-wrapper-lg,.ant-modal-body .ant-input-lg{padding-bottom:8px;padding-top:8px}.ant-modal-body .ant-input-affix-wrapper:hover,.ant-modal-body .ant-input-number:hover,.ant-modal-body .ant-input:hover,.ant-modal-body .ant-picker:hover,.ant-modal-body .ant-select-selector:hover{border-color:#40a9ff}.ant-modal-body .ant-input-affix-wrapper-focused,.ant-modal-body .ant-input-number-focused,.ant-modal-body .ant-input:focus,.ant-modal-body .ant-picker-focused,.ant-modal-body .ant-select-focused .ant-select-selector{border-color:#1890ff;box-shadow:0 0 0 2px #1890ff1a}.ant-modal-body .ant-input-textarea textarea{border-radius:8px;min-height:100px}.ant-modal-body .ant-switch{background-color:#bfbfbf}.ant-modal-body .ant-switch-checked{background:linear-gradient(135deg,#1890ff,#096dd9)}.ant-modal-body .ant-tree-select-dropdown,.ant-select-dropdown{border-radius:8px;box-shadow:0 6px 16px #0000001f}.detail-modal .ant-modal-body{padding:24px 32px}.detail-modal .detail-item{border-bottom:1px solid #f0f0f0;display:flex;padding:16px 0}.detail-modal .detail-item:last-child{border-bottom:none}.detail-modal .detail-label{align-items:flex-start;color:#666;display:flex;font-weight:500;min-width:120px}.detail-modal .detail-label .anticon{color:#1890ff;font-size:16px;margin-right:8px}.detail-modal .detail-value{color:#333;flex:1 1;font-weight:500;word-break:break-word}.detail-modal .ant-tag{border-radius:6px;font-size:13px;font-weight:500;padding:4px 12px}.ant-modal-confirm .ant-modal-content{border-radius:12px}.ant-modal-confirm .ant-modal-body{padding:32px}.ant-modal-confirm .ant-modal-confirm-title{color:#333;font-size:18px;font-weight:600}.ant-modal-confirm .ant-modal-confirm-content{color:#666;font-size:14px;line-height:1.6;margin-top:12px}@media (max-width:768px){.ant-modal{margin:16px auto;max-width:calc(100vw - 32px)}.ant-modal-header{padding:20px 24px}.ant-modal-title{font-size:18px}.ant-modal-body{padding:20px!important}.ant-modal-footer{padding:12px 20px 16px!important}.ant-modal-footer .ant-btn{min-width:80px;padding:0 16px}.detail-modal .detail-item{flex-direction:column;gap:8px}.detail-modal .detail-label{min-width:auto}}.ant-zoom-appear,.ant-zoom-enter{animation-duration:.2s;opacity:0;transform:none}.ant-zoom-appear-active,.ant-zoom-enter-active{transition:transform .2s cubic-bezier(.08,.82,.17,1),opacity .2s cubic-bezier(.08,.82,.17,1)}.ant-zoom-leave{animation-duration:.2s}.ant-zoom-leave-active{transition:transform .2s cubic-bezier(.78,.14,.15,.86),opacity .2s cubic-bezier(.78,.14,.15,.86)}.ant-modal-body .ant-form-item-extra{color:#999;font-size:12px;line-height:1.5;margin-top:6px}.ant-drawer-body .ant-form{margin-top:0!important}.ant-drawer-body .ant-form-item .ant-form-item-label,.ant-drawer-body .ant-form-vertical .ant-form-item-label{padding:0 0 8px!important}.ant-drawer-body .ant-form-item{margin-bottom:22px!important}.ant-drawer-body .ant-form .ant-row{margin-left:-12px!important;margin-right:-12px!important}.ant-drawer-body .ant-form .ant-row>.ant-col{padding-left:12px!important;padding-right:12px!important}.ant-modal-body .ant-form-item-required:before{margin-right:4px}.ant-modal-body .ant-divider{border-top-color:#e8e8e8;margin:24px 0}.ant-modal-body .ant-divider-horizontal.ant-divider-with-text{margin:32px 0}.ant-modal-body .ant-divider-inner-text{color:#666;font-size:15px;font-weight:600}.ant-modal-body .ant-upload-wrapper{width:100%}.ant-modal-body .ant-upload.ant-upload-drag{background:#fafafa;border:2px dashed #d9d9d9;border-radius:8px;transition:all .3s}.ant-modal-body .ant-upload.ant-upload-drag:hover{background:#f0f9ff;border-color:#1890ff}.ant-modal-body .ant-upload-drag-icon .anticon{color:#1890ff;font-size:48px}.ant-modal-body .ant-color-picker-trigger{border:1px solid #d9d9d9;border-radius:8px;transition:all .3s}.ant-modal-body .ant-color-picker-trigger:hover{border-color:#1890ff}.login-page{--login-edge-radius-x:clamp(40px,4.5vw,64px);--login-edge-radius-y:clamp(160px,20vw,280px);--login-edge-radius:var(--login-edge-radius-x);--login-brand-width:45%;display:flex;font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;inset:0;max-width:100vw;min-height:100vh;min-height:100dvh;overflow:hidden;position:fixed;width:100%;z-index:1000}.login-brand-side{background:radial-gradient(ellipse 80% 42% at 62% 58%,#2563eb47 0,#0000 68%),radial-gradient(ellipse 50% 30% at 28% 40%,#063b9e59 0,#0000 70%),linear-gradient(165deg,#062b75,#063b9e 48%,#2563eb);color:#fff;display:flex;flex:0 0 calc(var(--login-brand-width) + var(--login-edge-radius));flex-direction:column;margin-right:calc(var(--login-edge-radius)*-1);min-width:0;overflow:hidden;padding:48px 64px 36px;padding-right:calc(64px + var(--login-edge-radius));position:relative;width:calc(var(--login-brand-width) + var(--login-edge-radius));z-index:1}.login-brand-body,.login-brand-curve,.login-brand-desc,.login-brand-en,.login-brand-grid,.login-brand-stage,.login-cityscape,.login-float-icon,.login-hero-art,.login-hero-glow,.login-hero-visual{display:none!important}.login-brand-glow{background:radial-gradient(circle,#60a5fa73 0,#0000 68%);border-radius:50%;filter:blur(80px);height:480px;left:-140px;opacity:.55;top:-160px;width:480px}.login-brand-glow,.login-brand-horizon{pointer-events:none;position:absolute;z-index:0}.login-brand-horizon{background:radial-gradient(ellipse at 68% 45%,#93c5fd61 0,#2563eb24 45%,#0000 74%);filter:blur(14px);height:160px;left:0;right:-6%;top:52%}.login-brand-trails{display:none!important}.login-trail{border:none;border-radius:999px;filter:blur(18px);pointer-events:none;position:absolute}.login-trail-a{animation:login-streak-drift 12s ease-in-out infinite;background:radial-gradient(ellipse at 85% 50%,#bae6fd59 0,#7dd3fc1f 40%,#0000 72%);height:64px;left:8%;opacity:.7;top:43%;transform:rotate(-12deg);width:32%}.login-trail-b{animation:login-streak-drift 14s ease-in-out 1.5s infinite;background:radial-gradient(ellipse at 80% 50%,#93c5fd47 0,#60a5fa1a 45%,#0000 75%);height:48px;left:12%;opacity:.6;top:50%;transform:rotate(-4deg);width:28%}.login-trail-c{animation:login-streak-drift 13s ease-in-out 2.5s infinite;background:radial-gradient(ellipse at 75% 50%,#7dd3fc38 0,#0000 70%);height:36px;left:18%;opacity:.45;top:55%;transform:rotate(3deg);width:22%}@keyframes login-streak-drift{0%,to{opacity:.35}50%{opacity:.75}}.login-brand-particles{inset:0;overflow:hidden;pointer-events:none;position:absolute;z-index:1}.login-particle{animation:login-particle-float 16s linear infinite;background:#ffffff73;border-radius:50%;box-shadow:0 0 6px #93c5fd73;height:2px;opacity:0;position:absolute;width:2px}.login-particle-1{animation-delay:0s;left:10%;top:18%}.login-particle-2{animation-delay:1.1s;animation-duration:18s;left:22%;top:42%}.login-particle-3{animation-delay:2.2s;left:34%;top:14%}.login-particle-4{animation-delay:.7s;animation-duration:17s;left:48%;top:28%}.login-particle-5{animation-delay:3s;left:62%;top:12%}.login-particle-6{animation-delay:4.1s;left:74%;top:36%}.login-particle-7{animation-delay:1.8s;animation-duration:19s;left:16%;top:58%}.login-particle-8{animation-delay:2.8s;left:40%;top:66%}.login-particle-9{animation-delay:.4s;left:68%;top:52%}.login-particle-10{animation-delay:5s;left:84%;top:24%}.login-particle-11{animation-delay:3.6s;animation-duration:15s;left:8%;top:72%}.login-particle-12{animation-delay:6.2s;left:56%;top:78%}.login-particle-13{animation-delay:2s;left:28%;top:32%}.login-particle-14{animation-delay:4.6s;left:78%;top:68%}.login-particle-15{animation-delay:1.4s;animation-duration:17s;left:52%;top:8%}.login-particle-16{animation-delay:7s;left:90%;top:48%}.login-particle-17{animation-delay:5.5s;left:18%;top:86%}.login-particle-18{animation-delay:3.3s;left:44%;top:48%}@keyframes login-particle-float{0%{opacity:0;transform:translateY(10px)}18%{opacity:.5}70%{opacity:.25}to{opacity:0;transform:translateY(-48px)}}.login-brand-logo{align-items:flex-start;display:flex;flex:none;flex-direction:column;gap:8px;position:relative;z-index:10}.login-brand-logo-text{align-items:baseline;color:#fff;display:inline-flex;font-size:32px;font-weight:700;letter-spacing:-.02em;line-height:1}.login-brand-logo-hub,.login-brand-logo-text span{color:#38d9c5!important;font-size:32px;font-weight:700;letter-spacing:-.02em;line-height:1}.login-brand-logo-sub{color:#ffffffb3!important;display:block!important;font-size:13px!important;font-weight:400!important;letter-spacing:2px!important;line-height:1.2;margin:0}.login-brand-logo-booking{display:none!important}.login-brand-logo-custom{gap:8px}.login-brand-logo-custom img{display:block;max-height:40px;max-width:200px;object-fit:contain;width:auto}.login-brand-main{display:flex;flex:1 1 auto;flex-direction:column;margin-top:56px;min-height:0;pointer-events:none;position:relative;z-index:10}.login-brand-copy{flex:none;max-width:520px;pointer-events:auto;position:relative;width:100%;z-index:10}.login-brand-title{color:#fff;font-size:56px;font-weight:700;letter-spacing:-.02em;line-height:1.2;margin:0}.login-brand-subtitle{color:#ffffffbf;font-size:18px;font-weight:400;letter-spacing:.06em;line-height:1.5;margin:20px 0 0}.login-brand-accent{background:linear-gradient(90deg,#7dd3fc,#38bdf8 70%,#0000);border-radius:999px;box-shadow:0 0 12px #38bdf88c;display:block;height:3px;margin-top:18px;width:36px}.login-city-wrap{display:none!important}.login-city-art{animation:login-city-float 12s ease-in-out infinite;aspect-ratio:1/1;height:auto;left:0;-webkit-mask-image:none;mask-image:none;max-height:none;max-width:none;object-fit:contain;object-position:center center;opacity:.96;pointer-events:none;position:absolute;right:0;top:58%;transform:translateY(-50%);transform-origin:center center;width:100%;z-index:1}@keyframes login-city-float{0%,to{transform:translateY(-50%)}50%{transform:translateY(calc(-50% - 14px))}}.login-city-trail-fade{display:none!important}.login-brand-features{display:flex;flex:none;gap:28px;margin:12px 0 0;position:relative;width:100%;z-index:20}.login-brand-feature{align-items:flex-start;display:flex;flex:1 1;gap:12px;min-width:0}.login-brand-feature-icon{align-items:center;background:none;border:none;box-shadow:none;color:#fff;display:flex;filter:drop-shadow(0 0 10px rgba(125,211,252,.45));flex:none;height:40px;justify-content:center;position:relative;width:40px}.login-brand-feature-icon:before{background:radial-gradient(circle,#7dd3fc38 0,#0000 68%);border-radius:50%;content:"";inset:-8px;pointer-events:none;position:absolute;z-index:-1}.login-brand-feature strong{color:#fff;display:block;font-size:15px;font-weight:600;line-height:1.3}.login-brand-feature span{color:#ffffff94;display:block;font-size:13px;line-height:1.4;margin-top:4px}.login-brand-foot{color:#fff6;display:block!important;flex:none;font-size:12px;letter-spacing:1px;margin:22px 0 0;position:relative;text-align:center;z-index:20}.login-form-side{background:#fff;border-top-left-radius:var(--login-edge-radius-x) var(--login-edge-radius-y);box-shadow:-14px 8px 36px #062b751f;display:flex;flex:1 1 auto;flex-direction:column;min-width:0;overflow:visible;position:relative;width:auto;z-index:2}.login-form-curve,.login-form-edge{display:none}.login-form-top{display:flex;justify-content:flex-end;padding:clamp(16px,3vh,32px) clamp(16px,3vw,48px) 0;position:relative;z-index:2}.login-lang-switch{align-items:center;background:#fff;border:1px solid #e4e7ec;border-radius:8px;color:#667085;cursor:pointer;display:inline-flex;font-size:13px;gap:6px;line-height:1;padding:8px 14px}.login-lang-switch:hover{border-color:#c7d7fe;color:#4078ff}.login-lang-arrow{color:#98a2b3;font-size:10px}.login-form-center{align-items:center;display:flex;flex:1 1;justify-content:center;min-height:0;padding:clamp(12px,2vh,20px) clamp(16px,3vw,48px) clamp(8px,1.5vh,12px);position:relative;z-index:2}.login-card{background:#fff;border-radius:14px;box-shadow:0 16px 56px #0f2d6414;box-sizing:border-box;max-width:min(400px,100%);padding:clamp(24px,3.5vh,40px) clamp(20px,3vw,36px) clamp(20px,3vh,32px);width:100%}.login-card-header{margin-bottom:clamp(18px,3vh,32px)}.login-card-header h2{color:#101828;font-size:clamp(22px,2.2vw,28px);font-weight:700;line-height:1.3;margin:0 0 8px}.login-card-header p{color:#98a2b3;font-size:14px;margin:0}.login-form .ant-form-item{margin-bottom:18px}.login-field,.login-field.ant-input-affix-wrapper{background:#f2f4f7;border:1px solid #eaecf0;border-radius:10px;height:48px;padding:0 14px;transition:border-color .2s,background .2s,box-shadow .2s}.login-field .ant-input{background:#0000;color:#344054;font-size:14px}.login-field .ant-input-prefix{color:#98a2b3;margin-right:10px}.login-field.ant-input-affix-wrapper:hover,.login-field:hover{background:#fff;border-color:#c7d7fe}.login-field.ant-input-affix-wrapper-focused,.login-field.ant-input-affix-wrapper:focus-within,.login-field:focus{background:#fff!important;border-color:#4078ff!important;box-shadow:0 0 0 3px #4078ff24!important}.login-form-row{margin-bottom:24px}.login-checkbox{color:#667085;font-size:14px}.login-checkbox .ant-checkbox-checked .ant-checkbox-inner{background-color:#4078ff;border-color:#4078ff}.login-submit-item{margin-bottom:0!important}.login-submit-btn{background:linear-gradient(180deg,#4d88ff,#4078ff)!important;border:none!important;border-radius:10px!important;box-shadow:0 8px 20px #4078ff52!important;font-size:16px!important;font-weight:600!important;height:48px!important}.login-submit-btn:hover:not(:disabled){background:linear-gradient(180deg,#4078ff,#2f66eb)!important;box-shadow:0 10px 24px #2f66eb5c!important}.login-register-row{color:#98a2b3;font-size:13px;margin-top:14px;text-align:center}.login-register-row button{background:none;border:none;color:#4078ff;cursor:pointer;font-size:13px;padding:0 4px}.login-oauth-divider{align-items:center;color:#d0d5dd;display:flex;font-size:12px;margin:28px 0 22px}.login-oauth-divider:after,.login-oauth-divider:before{background:#eaecf0;content:"";flex:1 1;height:1px}.login-oauth-divider span{color:#98a2b3;padding:0 16px;white-space:nowrap}.login-oauth-list{display:flex;flex-wrap:wrap;gap:16px 20px;justify-content:center}.login-oauth-item{align-items:center;background:none;border:none;color:#667085;cursor:pointer;display:flex;flex:0 0 auto;flex-direction:column;font-size:12px;gap:8px;min-width:72px;padding:0}.login-oauth-item:hover{color:#4078ff}.login-oauth-icon{align-items:center;background:#fff;border:1px solid #eaecf0;border-radius:50%;color:#4078ff;display:flex;font-size:22px;height:44px;justify-content:center;line-height:1;transition:border-color .2s,box-shadow .2s;width:44px}.login-oauth-item:hover .login-oauth-icon{border-color:#c7d7fe;box-shadow:0 4px 14px #4078ff1f}.login-oauth-icon.wechat{color:#07c160}.login-oauth-icon.feishu,.login-oauth-icon.wecom{background:#fff;border-color:#d6e8ff;font-size:0;overflow:hidden;padding:0}.login-oauth-icon.feishu img,.login-oauth-icon.wecom img{display:block;height:26px;object-fit:contain;width:26px}.login-oauth-icon.feishu img{height:30px;transform:scale(1.08);width:30px}.login-oauth-icon.dingtalk{color:#0089ff;font-size:26px}.login-oauth-icon.dingtalk .anticon{font-size:26px}.wecom-qr-wrap{align-items:center;display:flex;flex-direction:column;min-height:320px;padding:8px 0 4px}.wecom-qr-iframe{background:#fff;border:0;border-radius:8px;height:480px;width:380px}.wecom-qr-box{align-items:center;display:flex;justify-content:center;min-height:300px;width:300px}.dingtalk-qr-panel{min-height:300px;position:relative;width:300px}.dingtalk-qr-box{align-items:center;display:flex;justify-content:center;min-height:300px;overflow:hidden;width:300px}.dingtalk-qr-box iframe{border:0!important}.dingtalk-qr-loading-overlay{background:#ffffffb8;inset:0;position:absolute;z-index:2}.dingtalk-qr-loading-overlay,.wecom-qr-loading{align-items:center;display:flex;justify-content:center}.wecom-qr-loading{color:#98a2b3;font-size:13px;margin-bottom:8px;min-height:320px}.wecom-qr-tip{color:#667085;font-size:13px;margin:12px 0 0;text-align:center}.wecom-qr-fallback{background:none;border:none;color:#0082ef;cursor:pointer;font-size:13px;margin-top:14px;padding:0}.wecom-qr-fallback:hover{text-decoration:underline}.login-form-footer{padding:14px 24px 24px;position:relative;text-align:center;z-index:2}.login-form-footer p{color:#98a2b3;font-size:12px;line-height:1.8;margin:0}.login-form-footer a{color:#98a2b3;text-decoration:none}.login-form-footer a:hover{color:#667085;text-decoration:underline}.login-footer-copyright-link{color:#667085!important;cursor:pointer;pointer-events:auto;position:relative;text-decoration:underline!important;z-index:3}.login-footer-copyright-link:hover{color:#4078ff!important}.login-footer-about{color:#98a2b3;margin:0 0 4px!important;white-space:pre-wrap;word-break:break-word}@media (max-width:1440px){.login-page{--login-edge-radius-x:clamp(36px,4vw,56px);--login-edge-radius-y:clamp(140px,18vw,240px);--login-edge-radius:var(--login-edge-radius-x)}.login-brand-side{padding:40px 48px;padding-right:calc(48px + var(--login-edge-radius))}.login-brand-features{gap:24px}.login-city-art{top:58%}}@media (max-width:1280px){.login-page{--login-edge-radius-x:clamp(32px,3.8vw,48px);--login-edge-radius-y:clamp(120px,16vw,200px);--login-edge-radius:var(--login-edge-radius-x);--login-brand-width:48%}.login-brand-title{font-size:48px}.login-brand-main{margin-top:40px}.login-city-art{top:60%}}@media (max-width:1100px){.login-page{--login-edge-radius-x:32px;--login-edge-radius-y:100px;--login-edge-radius:var(--login-edge-radius-x);--login-brand-width:50%}.login-brand-side{padding:36px;padding-right:calc(36px + var(--login-edge-radius))}.login-brand-title{font-size:40px}.login-brand-subtitle{font-size:18px;margin-top:20px}.login-brand-features{gap:16px}}@media (max-height:820px){.login-brand-main{margin-top:28px}.login-brand-title{font-size:44px}.login-city-art{top:56%}.login-brand-logo-custom img{max-height:36px}.login-oauth-divider{margin:18px 0 14px}}@media (max-height:700px){.login-brand-features,.login-brand-foot{display:none!important}.login-city-art{top:58%}}@media (max-width:900px){.login-page{--login-edge-radius-x:0px;--login-edge-radius-y:0px;--login-edge-radius:0px;--login-brand-width:100%;flex-direction:column;height:auto;min-height:100vh;min-height:100dvh;overflow:auto;position:relative}.login-brand-side{flex:none;margin-right:0;min-height:560px;padding:24px 24px 28px;width:100%}.login-brand-main{margin-top:28px}.login-brand-title{font-size:36px}.login-brand-subtitle{font-size:18px;margin-top:16px}.login-city-art{animation:none;bottom:110px;left:0;max-height:none;right:0;top:auto;transform:none;transform-origin:center bottom;width:100%}.login-brand-features{gap:16px}.login-form-side{background:#fff;border-top-left-radius:0;box-shadow:none;flex:none;min-width:0;width:100%}.login-form-top{padding:12px 16px 0}.login-form-center{padding:12px 16px 8px}.login-card{box-shadow:0 10px 40px #0f2d6412}.login-form-footer{padding:10px 16px 20px}.login-oauth-list{flex-wrap:wrap;gap:16px 12px;justify-content:center}.login-oauth-item{flex:0 0 auto;min-width:64px}}@media (max-width:480px){.login-brand-side{padding:20px 16px 24px}.login-brand-features{flex-direction:column;gap:14px}.login-brand-title{font-size:32px}.login-city-art{bottom:140px;max-height:260px;width:100%}.login-card{border-radius:12px;padding:20px 16px 18px}.wecom-qr-iframe{height:min(480px,70vh);width:min(380px,100%)}.dingtalk-qr-box,.dingtalk-qr-panel,.wecom-qr-box{width:min(300px,100%)}}.register-form-top{align-items:center;justify-content:space-between}.register-back-btn{align-items:center;background:#fff;border:1px solid #e4e7ec;border-radius:8px;color:#667085;cursor:pointer;display:inline-flex;font-size:13px;gap:6px;line-height:1;padding:8px 14px;transition:border-color .2s,color .2s}.register-back-btn:hover{border-color:#c7d7fe;color:#4078ff}.register-card{max-height:calc(100vh - 140px);max-width:400px;overflow-y:auto;padding:36px 32px 28px}.register-card .login-card-header{margin-bottom:20px}.register-steps{margin-bottom:24px}.register-steps .ant-steps-item-title{color:#98a2b3!important;font-size:13px!important}.register-steps .ant-steps-item-finish .ant-steps-item-title,.register-steps .ant-steps-item-process .ant-steps-item-title{color:#344054!important}.register-steps .ant-steps-item-process .ant-steps-item-icon{background:#4078ff!important;border-color:#4078ff!important}.register-steps .ant-steps-item-finish .ant-steps-item-icon{background:#fff!important;border-color:#4078ff!important}.register-steps .ant-steps-item-finish .ant-steps-item-icon>.ant-steps-icon{color:#4078ff!important}.register-steps .ant-steps-item-finish>.ant-steps-item-container>.ant-steps-item-tail:after{background-color:#4078ff!important}.register-form .ant-form-item{margin-bottom:16px}.register-step-panel{min-height:0}.ant-input.register-textarea,.register-textarea.ant-input{background:#f2f4f7;border:1px solid #eaecf0;border-radius:10px;color:#344054;font-size:14px;padding:12px 14px;resize:none;transition:border-color .2s,background .2s,box-shadow .2s}.ant-input.register-textarea:hover,.register-textarea.ant-input:hover{background:#fff;border-color:#c7d7fe}.ant-input.register-textarea:focus,.register-textarea.ant-input:focus{background:#fff!important;border-color:#4078ff!important;box-shadow:0 0 0 3px #4078ff24!important}.register-form .ant-form-item .ant-input-textarea-show-count:after{color:#98a2b3;font-size:12px}.register-actions{display:flex;gap:12px;margin-bottom:4px;margin-top:8px}.register-btn-secondary{background:#fff!important;border:1px solid #eaecf0!important;border-radius:10px!important;color:#667085!important;flex:0 0 auto;height:48px!important;min-width:100px}.register-btn-secondary:hover{border-color:#c7d7fe!important;color:#4078ff!important}.register-btn-primary{flex:1 1;margin:0!important}.register-page .login-register-row{margin-top:18px}@media (max-width:900px){.register-card{max-height:none;max-width:100%;padding:28px 20px 24px}.register-steps .ant-steps-item-title{font-size:12px!important}}.sj-page{background:linear-gradient(165deg,#eef3f9,#f8fafc 55%,#f1f5f9);box-sizing:border-box;font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;min-height:100vh;padding:28px 16px 40px}.sj-card{background:#ffffffeb;border:1px solid #fffc;border-radius:20px;box-shadow:0 12px 32px #0f274414;margin:0 auto;max-width:420px;padding:28px 22px 24px;width:100%}.sj-center{align-items:center;display:flex;justify-content:center;min-height:220px}.sj-brand{color:#0f2744;font-size:22px;font-weight:700;text-align:center}.sj-sub{color:#64748b;font-size:13px;line-height:1.5;margin:8px 0 22px;text-align:center}.sj-card .ant-form-item-label>label{color:#334155;font-weight:600}.sj-card .ant-btn-primary{border-radius:12px;font-weight:600;height:44px;margin-top:8px}.company-logo{align-items:center;display:flex;justify-content:center}.company-logo-image{max-height:100%;max-width:100%;object-fit:contain}.company-logo-text{color:#fff;font-weight:700;text-align:center}.company-logo-default{height:32px;padding:0 16px}.company-logo-default .company-logo-image{max-height:32px}.company-logo-default .company-logo-text{font-size:18px}.company-logo-login{margin-bottom:24px}.company-logo-login .company-logo-image{max-height:80px;max-width:200px}.company-logo-login .company-logo-text{color:#fff;font-size:32px;font-weight:700;text-shadow:2px 2px 4px #0003}.company-logo-tablet{height:60px;padding:8px}.company-logo-tablet .company-logo-image{max-height:60px;max-width:150px}.company-logo-tablet .company-logo-text{font-size:24px}.tree-menu-config{margin:0 auto;max-width:1200px}.menu-items-container{display:flex;flex-direction:column;gap:12px}.menu-item-wrapper{border-radius:8px;overflow:hidden;transition:all .3s}.menu-item{background:#fff;border:1px solid #e8e8e8;border-radius:8px;transition:all .3s}.menu-item:hover{border-color:#1890ff;box-shadow:0 2px 8px #1890ff1a}.menu-item.enabled{background:linear-gradient(135deg,#f0f9ff,#fff);border-color:#91d5ff}.menu-item.parent-menu{background:linear-gradient(135deg,#fff7e6,#fff);border:2px solid #ffd591}.menu-item.parent-menu.enabled{background:linear-gradient(135deg,#e6f7ff,#fff);border-color:#69c0ff}.menu-item-content{align-items:center;display:flex;justify-content:space-between;padding:16px}.menu-item-left{display:flex;flex:1 1;flex-direction:column;gap:4px}.menu-item-right{margin-left:16px}.children-container{border-left:3px solid #e8e8e8;display:flex;flex-direction:column;gap:8px;margin-left:16px;margin-top:8px;overflow:hidden;padding-left:24px;transition:all .3s}.children-container.show{max-height:2000px;opacity:1;padding-bottom:8px;padding-top:8px}.children-container.hide{margin-top:0;max-height:0;opacity:0;padding-bottom:0;padding-top:0}.child-menu-item{background:#fafafa;border:1px solid #f0f0f0;border-radius:6px;padding:10px 14px;transition:all .3s}.child-menu-item:hover{background:#f5f5f5;border-color:#d9d9d9}.child-menu-item.enabled{background:linear-gradient(135deg,#f6ffed,#fff);border-color:#b7eb8f}.child-menu-content{align-items:center;display:flex;justify-content:space-between}.child-menu-left{align-items:center;display:flex;flex:1 1;flex-wrap:wrap}.child-menu-right{margin-left:12px}@media (max-width:768px){.menu-item-content{align-items:flex-start;flex-direction:column;gap:12px}.menu-item-right{display:flex;justify-content:flex-end;margin-left:0;width:100%}.children-container{margin-left:0;padding-left:16px}.child-menu-content{align-items:flex-start;flex-direction:column;gap:8px}.child-menu-right{display:flex;justify-content:flex-end;margin-left:0;width:100%}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.menu-item-wrapper{animation:slideDown .3s ease-out}.backend-config-container{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:24px}.backend-config-container .ant-btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none;box-shadow:0 4px 12px #667eea66;transition:all .3s ease}.backend-config-container .ant-btn-primary:hover{box-shadow:0 6px 20px #667eea99;transform:translateY(-2px)}.backend-config-container .ant-tag{border-radius:6px;font-weight:500;padding:4px 12px}.backend-config-container .ant-modal-header{background:linear-gradient(135deg,#f5f7fa,#e8ecf1);border-bottom:2px solid #e8ecf1}.backend-config-container .ant-modal-title{font-size:18px;font-weight:600}@media (max-width:768px){.backend-config-container{padding:16px}.page-header{padding:24px 20px}.page-header h1{font-size:24px}}.license-management-container{background:linear-gradient(135deg,#667eea,#764ba2);min-height:calc(100vh - 64px);padding:24px}.page-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:16px;box-shadow:0 8px 32px #0000001a;margin-bottom:24px;padding:32px 40px}.page-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;display:inline-block;font-size:32px;font-weight:700;margin:0}.page-header p{color:#8c8c8c;font-size:14px;margin:8px 0 0}.overview-card{border:none!important;border-radius:16px!important;box-shadow:0 4px 16px #00000026!important;transition:all .3s ease}.overview-card:hover{box-shadow:0 12px 32px #0003!important;transform:translateY(-8px)}.overview-card-blue{background:linear-gradient(135deg,#667eea,#764ba2)!important}.overview-card-green{background:linear-gradient(135deg,#48c6ef,#6f86d6)!important}.overview-card-orange{background:linear-gradient(135deg,#f093fb,#f5576c)!important}.overview-card-purple{background:linear-gradient(135deg,#fa709a,#fee140)!important}.overview-card .ant-statistic-title{font-size:14px;font-weight:500}.overview-card .ant-statistic-content{font-size:32px;font-weight:700}.config-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffffa!important;border:none!important;border-radius:16px!important;box-shadow:0 4px 24px #0000001a!important}.config-card .ant-tabs-nav{margin-bottom:0!important;padding:0 24px}.config-card .ant-tabs-tab{font-size:16px;font-weight:500;padding:16px 24px!important}.config-card .ant-tabs-tab-active{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text}.config-card .ant-tabs-content{padding:24px}.config-card .ant-table{border-radius:12px;overflow:hidden}.config-card .ant-table-thead>tr>th{background:linear-gradient(135deg,#f5f7fa,#e8ecf1);border-bottom:2px solid #e8ecf1;color:#262626;font-weight:600}.config-card .ant-table-tbody>tr{transition:all .3s ease}.config-card .ant-table-tbody>tr:hover{background:#f5f7fa;box-shadow:-4px 0 0 0 #667eea;transform:translateX(4px)}.license-management-container .ant-btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none;box-shadow:0 4px 12px #667eea66;transition:all .3s ease}.license-management-container .ant-btn-primary:hover{box-shadow:0 6px 20px #667eea99;transform:translateY(-2px)}.license-management-container .ant-tag{border-radius:6px;font-weight:500;padding:4px 12px}.license-management-container .ant-modal-header{background:linear-gradient(135deg,#f5f7fa,#e8ecf1);border-bottom:2px solid #e8ecf1}.license-management-container .ant-modal-title{font-size:18px;font-weight:600}@media (max-width:768px){.license-management-container{padding:16px}.page-header{padding:24px 20px}.page-header h1{font-size:24px}}.saas-login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.saas-login-card{border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:450px;overflow:hidden;width:100%}.saas-login-header{margin-bottom:40px;text-align:center}.saas-login-header h1{color:#1890ff;font-size:28px;font-weight:700;margin-bottom:8px}.saas-login-header p{color:#8c8c8c;font-size:14px;margin:0}.login-button{border-radius:8px;font-weight:600;height:45px;margin-top:10px}.saas-login-footer{border-top:1px solid #f0f0f0;margin-top:20px;padding-top:20px;text-align:center}.saas-login-footer p{color:#999;font-size:13px;margin:0}.saas-login-card .ant-input,.saas-login-card .ant-input-affix-wrapper{align-items:center;border-radius:8px;display:flex;height:45px}.saas-login-card .ant-input-affix-wrapper .ant-input{height:auto;line-height:normal}.saas-login-card .ant-input-prefix{align-items:center;color:#1890ff;display:flex;font-size:16px}.saas-logo{background:#ffffff1a;color:#fff;font-size:20px;font-weight:700;height:64px;justify-content:center;margin:0;transition:all .3s}.saas-header,.saas-logo{align-items:center;display:flex}.saas-header{background:#fff;box-shadow:0 2px 8px #00000014;justify-content:space-between;padding:0 24px}.header-title{color:#262626;font-size:18px;font-weight:600}.user-info{align-items:center;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:8px 12px;transition:all .3s}.user-info:hover{background:#f0f0f0}.user-info .user-name{color:#262626!important;font-size:12px!important;font-weight:400}.saas-content{background:#f0f2f5;overflow:auto}.ant-layout-sider-dark{background:#001529}.ant-menu-dark.ant-menu-dark:not(.ant-menu-horizontal) .ant-menu-item-selected{background-color:#1890ff}.saas-dashboard{background:#f0f2f5;min-height:100vh;padding:24px}.dashboard-title{color:#262626;font-size:24px;font-weight:600;margin-bottom:24px}.metrics-row .ant-card{border-radius:8px;box-shadow:0 2px 8px #00000014;transition:all .3s}.metrics-row .ant-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.metrics-row .ant-statistic-title{color:#8c8c8c;font-size:14px}.metrics-row .ant-statistic-content{font-size:28px;font-weight:600}.recent-activities{max-height:300px;overflow-y:auto}.activity-item{border-bottom:1px solid #f0f0f0;color:#595959;font-size:14px;padding:8px 0}.activity-item:last-child{border-bottom:none}.tenant-management{background:#f0f2f5;min-height:100vh;padding:24px}.tenant-management .ant-card{border-radius:8px;box-shadow:0 2px 8px #00000014}.tenant-management .ant-table{background:#fff}.tenant-management .ant-btn-link{height:auto;padding:0}.tenant-detail{background:#f0f2f5;min-height:100vh;padding:24px}.detail-header{gap:16px}.detail-header h2{font-size:24px;font-weight:600;margin:0}.tenant-detail-loading{align-items:center;display:flex;justify-content:center;min-height:400px}.tenant-detail .ant-card{border-radius:8px;box-shadow:0 2px 8px #00000014}.tenant-detail .ant-progress{margin-top:12px}.tenant-menu-config{background:#f0f2f5;min-height:100vh;padding:24px}.menu-config-list{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}.menu-config-item{align-items:center;background:#fff;border:1px solid #e8e8e8;border-radius:8px;display:flex;justify-content:space-between;padding:20px;transition:all .3s}.menu-config-item:hover{border-color:#1890ff;box-shadow:0 2px 8px #1890ff1a}.menu-info{flex:1 1;margin-right:12px}.menu-label{color:#262626;font-size:15px;font-weight:500;margin-bottom:0}.menu-description{color:#8c8c8c;display:none;font-size:12px}@media (max-width:1400px){.menu-config-list{grid-template-columns:repeat(3,1fr)}}@media (max-width:992px){.menu-config-list{grid-template-columns:repeat(2,1fr)}}@media (max-width:576px){.menu-config-list{grid-template-columns:1fr}.menu-description{display:block}}.tenant-module-config{background:#f0f2f5;min-height:100vh;padding:24px}.module-config-list{display:flex;flex-direction:column;gap:12px}.module-config-item{align-items:center;background:#fff;border:1px solid #e8e8e8;border-radius:8px;display:flex;justify-content:space-between;padding:16px 20px;transition:all .3s}.module-config-item:hover{border-color:#1890ff;box-shadow:0 2px 8px #1890ff1a}.module-info{flex:1 1}.module-label{align-items:center;color:#262626;display:flex;font-size:16px;font-weight:500;margin-bottom:4px}.module-description{color:#8c8c8c;font-size:14px}.tenant-mp-config{padding:24px}.mp-module-card{height:100%;transition:all .3s ease}.mp-module-card:hover{box-shadow:0 4px 12px #0000001a}.mp-module-title{align-items:center;display:flex;font-weight:500;gap:8px}.mp-module-desc{color:#666;font-size:13px;margin:0;min-height:36px}.saas-statistics{background:#f0f2f5;min-height:100vh;padding:24px}.statistics-filters{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.saas-statistics .ant-card{border-radius:8px;box-shadow:0 2px 8px #00000014}@media (max-width:768px){.statistics-filters{align-items:stretch;flex-direction:column}.statistics-filters .ant-btn,.statistics-filters .ant-picker,.statistics-filters .ant-select{margin-bottom:8px;margin-right:0!important;width:100%!important}}.registration-management{padding:0}.registration-management .ant-statistic-title{color:#000000a6;font-size:14px}.registration-management .ant-statistic-content{font-size:28px;font-weight:600}.registration-management .ant-card{border-radius:8px;box-shadow:0 2px 8px #00000014}.registration-management .ant-card-head{border-bottom:1px solid #f0f0f0;padding:16px 24px}.registration-management .ant-table-wrapper{margin-top:16px}@media (max-width:768px){.registration-management .ant-statistic-content{font-size:24px}}.operation-logs{background:#f0f2f5;min-height:100vh;padding:24px}.operation-logs .ant-card{border-radius:8px;box-shadow:0 2px 8px #00000014}.saas-settings{background:#f0f2f5;min-height:100vh;padding:24px}.saas-settings .ant-card{border-radius:8px;box-shadow:0 2px 8px #00000014}.mobile-layout{background:#f5f7fa;min-height:100vh}.mobile-content{-webkit-overflow-scrolling:touch;flex:1 1;overflow-y:auto;padding-bottom:70px}.mobile-tabbar{align-items:stretch;background:#fff;border-top:1px solid #e4e7eb;bottom:0;box-shadow:0 -2px 8px #00000014;display:flex;flex-direction:row;justify-content:space-around;left:0;padding:8px 0;position:fixed;right:0;z-index:1000}.tabbar-item{align-items:center;cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:4px;justify-content:center;padding:8px 0;position:relative;transition:all .3s}.tabbar-item:active{background:#f7fafc;transform:scale(.95)}.tabbar-icon{color:#a0aec0;font-size:24px;transition:all .3s}.tabbar-item.active .tabbar-icon{color:#667eea}.tabbar-label{color:#a0aec0;font-size:12px;transition:all .3s}.tabbar-item.active .tabbar-label{color:#667eea}.tabbar-item.active:before{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:0 0 3px 3px;content:"";height:3px;left:50%;position:absolute;top:0;transform:translateX(-50%);width:24px}@supports (padding-bottom:env(safe-area-inset-bottom)){.mobile-tabbar{height:calc(60px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}}.mobile-home-v2{background:#f5f7fa;min-height:100vh;padding-bottom:60px}.home-header-v2{align-items:center;background:#fff;display:flex;gap:12px;padding:16px}.user-avatar-v2{border:2px solid #f0f0f0}.user-info-v2{flex:1 1}.user-name-v2{color:#333;font-size:16px;font-weight:600;margin-bottom:4px}.user-company-v2{color:#999;font-size:13px}.banner-container-v2{border-radius:12px;box-shadow:0 2px 8px #00000014;margin:12px 16px;overflow:hidden}.banner-item-v2{cursor:pointer;height:160px}.banner-container-v2 .ant-carousel .slick-dots{bottom:8px}.banner-container-v2 .ant-carousel .slick-dots li button{background:#ffffff80;border-radius:3px;height:6px;width:6px}.banner-container-v2 .ant-carousel .slick-dots li.slick-active button{background:#fff;width:16px}.modules-container-v2{padding:0 16px 24px}.modules-grid-v2{grid-gap:20px;background:#fff;border-radius:12px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr);padding:20px 12px}.module-item-v2{align-items:center;cursor:pointer;display:flex;flex-direction:column;transition:all .3s}.module-item-v2:active{transform:scale(.95)}.module-icon-v2{align-items:center;border-radius:12px;box-shadow:0 4px 12px #0000001a;color:#fff;display:flex;font-size:24px;height:50px;justify-content:center;margin-bottom:8px;width:50px}.module-title-v2{color:#333;font-size:13px;font-weight:500;text-align:center}@media (max-width:375px){.modules-grid-v2{gap:16px}.module-icon-v2{font-size:22px;height:45px;width:45px}}@media (min-width:768px){.modules-grid-v2{grid-template-columns:repeat(4,1fr)}}@supports (padding:max(0px)){.mobile-home-v2{padding-bottom:max(60px,env(safe-area-inset-bottom))}}@media (prefers-color-scheme:dark){.mobile-home-v2{background:#1a1a1a}.home-header-v2,.modules-container-v2 .modules-grid-v2{background:#2a2a2a}.module-title-v2,.user-name-v2{color:#fff}.user-company-v2{color:#999}}.mobile-login{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-container{max-width:400px;width:100%}.login-header{margin-bottom:40px;text-align:center}.login-logo{margin-bottom:20px}.login-logo img{border-radius:20px;box-shadow:0 4px 16px #0003;height:80px;width:80px}.login-title{color:#fff;font-size:28px;font-weight:600;margin:0 0 8px;text-shadow:0 2px 4px #0000001a}.login-subtitle{color:#ffffffe6;font-size:16px;margin:0}.login-form-wrapper{background:#fff;border-radius:20px;box-shadow:0 8px 32px #00000026;padding:30px 24px}.login-form-wrapper .ant-input-affix-wrapper{border-radius:12px;padding:12px 15px}.login-form-wrapper .ant-input{font-size:15px}.login-form-wrapper .ant-checkbox-wrapper{color:#666;font-size:14px}.login-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;font-size:16px;font-weight:500;height:48px;margin-top:8px}.login-button:focus,.login-button:hover{background:linear-gradient(135deg,#7c8ef5,#8b5ab8)}.third-party-login{margin-top:24px}.third-party-login .ant-divider{color:#999;font-size:13px;margin:24px 0 20px}.third-party-buttons{display:flex;gap:16px;justify-content:center}.third-party-btn{align-items:center;border-radius:12px;cursor:pointer;display:flex;flex:1 1;font-size:15px;font-weight:500;gap:8px;height:48px;justify-content:center;max-width:140px;transition:all .3s}.third-party-btn:active{transform:scale(.95)}.third-party-btn.wechat{background:#07c160;color:#fff}.third-party-btn.wechat:hover{background:#06ad56}.third-party-btn.dingtalk{background:#1890ff;color:#fff}.third-party-btn.dingtalk:hover{background:#0f7cd6}.third-party-btn .anticon{font-size:20px}@media (max-width:375px){.login-form-wrapper{padding:24px 20px}.login-title{font-size:24px}}@media (prefers-color-scheme:dark){.mobile-login{background:linear-gradient(135deg,#2c3e50,#34495e)}.login-form-wrapper{background:#2a2a2a}.login-form-wrapper .ant-input-affix-wrapper{background:#333;border-color:#444}.login-form-wrapper .ant-input{background:#0000;color:#fff}.login-form-wrapper .ant-checkbox-wrapper{color:#ccc}}@supports (padding:max(0px)){.mobile-login{padding-bottom:max(20px,env(safe-area-inset-bottom))}}.mobile-messages{background:#f5f7fa;min-height:100vh;padding-bottom:60px}.messages-header{align-items:center;background:#fff;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:16px}.messages-title{align-items:center;color:#333;display:flex;font-size:18px;font-weight:600;gap:8px;margin:0}.message-tabs{background:#fff;padding:0 16px}.message-tabs .ant-tabs-nav{margin-bottom:0}.message-tabs .ant-tabs-tab{padding:12px 8px}.messages-content{padding:12px}.message-item{background:#fff;border-radius:12px;box-shadow:0 1px 4px #0000000d;cursor:pointer;margin-bottom:12px;padding:14px;transition:all .3s}.message-item:active{box-shadow:0 2px 8px #0000001a;transform:scale(.98)}.message-item.unread{border-left:3px solid #1890ff}.message-header-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.message-time{color:#999;font-size:12px;gap:4px}.message-time,.message-title{align-items:center;display:flex}.message-title{color:#333;font-size:15px;font-weight:500;gap:6px;margin-bottom:6px}.unread-dot{background:#ff4d4f;border-radius:50%;height:6px;width:6px}.message-content-preview{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:#666;display:-webkit-box;font-size:13px;line-height:1.5;overflow:hidden;text-overflow:ellipsis}.message-detail-modal .modal-title{align-items:center;display:flex;gap:8px}.message-detail{padding:8px 0}.detail-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.detail-time{color:#999;font-size:13px}.detail-title{font-size:16px}.detail-content{color:#666;font-size:14px;line-height:1.8;margin-bottom:16px;white-space:pre-wrap}.detail-link{background:#f5f7fa;border-radius:8px;margin-bottom:16px;padding:12px}.detail-link a{color:#1890ff;text-decoration:none}.detail-footer{align-items:center;border-top:1px solid #f0f0f0;color:#999;display:flex;font-size:13px;gap:6px;padding-top:12px}@supports (padding:max(0px)){.mobile-messages{padding-bottom:max(60px,env(safe-area-inset-bottom))}}@media (prefers-color-scheme:dark){.mobile-messages{background:#1a1a1a}.message-item,.messages-header{background:#2a2a2a;border-color:#3a3a3a}.detail-title,.message-title,.messages-title{color:#fff}.detail-content,.message-content-preview{color:#ccc}.detail-footer,.detail-time,.message-time{color:#888}.detail-link{background:#1a1a1a}}.mobile-mine{background:#f5f7fa;min-height:100vh;padding-bottom:60px}.mine-header{background:linear-gradient(135deg,#4facfe,#00f2fe);padding:20px 16px 16px}.user-card{background:#fffffff2;border-radius:16px;box-shadow:0 4px 16px #0000001a;display:flex;gap:16px;padding:20px}.user-avatar-large{border:3px solid #fff;box-shadow:0 2px 8px #0000001a;flex-shrink:0}.user-details{flex:1 1;min-width:0}.user-name-large{color:#333;font-size:18px;font-weight:600;margin-bottom:8px}.user-meta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:8px}.meta-item{color:#666;font-size:13px;gap:4px}.meta-item,.user-contact{align-items:center;display:flex}.user-contact{color:#999;font-size:12px;gap:6px;margin-top:4px}.mine-content{padding:12px 16px}.menu-section{margin-bottom:16px}.section-title{color:#999;font-size:13px;padding:8px 0}.menu-list{background:#fff;border-radius:12px;overflow:hidden}.menu-item{align-items:center;border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;padding:14px 16px;transition:background .3s}.menu-item:last-child{border-bottom:none}.menu-icon,.menu-item:active{background:#f5f5f5}.menu-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;font-size:20px;height:40px;justify-content:center;margin-right:12px;width:40px}.menu-content{flex:1 1;min-width:0}.menu-title{color:#333;font-size:15px;font-weight:500;margin-bottom:4px}.menu-desc{color:#999;font-size:12px}.menu-arrow{color:#ccc;flex-shrink:0;font-size:14px}.logout-item .menu-title{color:#ff4d4f}@supports (padding:max(0px)){.mobile-mine{padding-bottom:max(60px,env(safe-area-inset-bottom))}}@media (prefers-color-scheme:dark){.mobile-mine{background:#1a1a1a}.user-card{background:#2a2a2af2}.menu-title,.user-name-large{color:#fff}.menu-desc,.meta-item,.user-contact{color:#999}.menu-list{background:#2a2a2a}.menu-item{border-color:#3a3a3a}.menu-icon,.menu-item:active{background:#333}.section-title{color:#888}}.mobile-booking{background:#f5f5f5;min-height:100vh;padding-bottom:80px}.mobile-nav-header{align-items:center;background:#fff;box-shadow:0 2px 8px #0000000f;display:flex;justify-content:space-between;padding:16px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.mobile-nav-header h2{color:#333;font-size:18px;font-weight:600;margin:0}.nav-back{color:#333;cursor:pointer;font-size:20px;padding:4px;transition:all .3s}.nav-back:active{color:#1890ff;transform:scale(.9)}.search-bar{align-items:center;background:#fff;display:flex;gap:8px;margin-bottom:1px;padding:16px}.search-bar .ant-input-affix-wrapper{background:#f5f5f5;border:none;border-radius:20px;padding:10px 16px}.search-bar .ant-input{background:#0000}.filter-tip{background:#fff;margin-bottom:12px;padding:8px 16px}.date-selector{align-items:center;gap:12px;margin-bottom:12px;padding:16px}.date-icon{color:#1890ff;font-size:20px}.date-selector .ant-picker{flex:1 1}.rooms-list{padding:0 16px}.room-card{border:none;cursor:pointer;margin-bottom:12px;transition:all .3s}.room-card:active{transform:scale(.98)}.room-card .ant-card-body{padding:16px}.room-header{align-items:flex-start;margin-bottom:12px}.room-name-section{display:flex;flex:1 1;gap:12px}.room-icon{color:#1890ff;font-size:24px;margin-top:2px}.room-name{font-size:16px;margin-bottom:4px}.room-area{align-items:center;color:#999;display:flex;font-size:13px;gap:4px}.room-details{margin-bottom:12px}.detail-item{align-items:center;color:#666;gap:8px;margin-bottom:8px}.detail-item .anticon{color:#1890ff}.facilities{display:flex;flex-wrap:wrap;gap:6px}.room-action{margin-top:12px}.room-action .ant-btn{border-radius:8px;font-weight:500;height:40px}.booking-modal .ant-modal-content{border-radius:16px}.booking-modal .ant-modal-header{border-radius:16px 16px 0 0;padding:16px 20px}.booking-modal .ant-modal-body{max-height:70vh;overflow-y:auto;padding:20px}.modal-title{align-items:center;display:flex;font-size:16px;font-weight:600;gap:8px}.selected-room-info{background:#f5f5f5;border-radius:12px;margin-bottom:20px;padding:16px}.info-row .anticon{color:#1890ff}.booking-modal .ant-form-item-label>label{font-weight:500}.booking-modal .ant-btn-primary{border-radius:8px;font-size:16px;font-weight:500;height:44px}.time-slots-container{background:#f9f9f9;border-radius:12px;margin-bottom:16px}.time-slots-title{color:#333;font-size:14px;font-weight:500;margin-bottom:12px}.time-slots-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(4,1fr);margin-bottom:12px}.time-slot{border-radius:6px;font-size:12px;font-weight:500;padding:8px 4px;text-align:center}.time-slot.available{background:#f6ffed;border:1px solid #b7eb8f;color:#52c41a}.time-slot.occupied{background:#fff1f0;border:1px solid #ffccc7;color:#ff4d4f}.time-slots-legend{color:#666;display:flex;font-size:12px;gap:16px}.time-slots-legend span{align-items:center;display:flex;gap:6px}.legend-dot{border-radius:3px;height:12px;width:12px}.legend-dot.available{background:#52c41a}.legend-dot.occupied{background:#ff4d4f}.filter-section{margin-bottom:24px}.filter-label{font-size:14px;font-weight:500;margin-bottom:12px}.filter-section .ant-radio-button-wrapper{border-radius:8px!important;height:44px;line-height:42px;text-align:center}.filter-section .ant-radio-button-wrapper:not(:first-child):before{display:none}.filter-section .ant-slider{margin:20px 12px}@media (max-width:375px){.room-card .ant-card-body{padding:12px}.room-name{font-size:15px}.time-slots-grid{grid-template-columns:repeat(3,1fr)}}.mobile-room-list-new{background:#f5f5f5;min-height:100vh;padding-bottom:20px}.top-nav-bar{align-items:center;background:#fff;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:12px 16px}.nav-back-btn{font-size:20px;padding:4px}.nav-title{color:#333;flex:1 1;font-size:17px;font-weight:600;text-align:center}.nav-filter-btn{font-size:16px}.date-selector-header{background:#fff;border-bottom:1px solid #f0f0f0;display:flex;gap:8px;overflow-x:auto;padding:12px 8px}.date-item{border-radius:8px;padding:8px}.date-item.active .date-label{color:#fff;font-weight:600}.date-label{color:#333;font-size:14px;margin-bottom:2px}.date-weekday{color:#999;font-size:12px}.date-item.active .date-weekday{color:#91d5ff}.room-list-content{padding:12px}.empty-text,.loading-text{color:#999;font-size:14px;padding:60px 20px;text-align:center}.room-card-wrapper{cursor:pointer;margin-bottom:18px;transition:transform .15s}.room-card-wrapper:active{transform:scale(.985)}.room-info-card{background:#fff;border-radius:20px;box-shadow:0 2px 16px #00000014;margin-bottom:0;padding:22px 18px 18px}.room-header{justify-content:space-between;margin-bottom:14px}.room-header,.room-title{align-items:center;display:flex}.room-title{flex:1 1;gap:10px}.room-icon{font-size:28px;line-height:1}.room-name{color:#1a1a1a;font-size:19px;letter-spacing:-.2px}.room-status{border-radius:24px;font-size:14px;font-weight:600;letter-spacing:.5px;padding:8px 18px;white-space:nowrap}.room-status.available{background:#0ec27e;color:#fff}.room-status.occupied{background:#ff4757;color:#fff}.room-details{display:flex;gap:24px;margin-bottom:4px;padding-left:38px}.room-detail-item{align-items:center;color:#999;display:flex;font-size:14px;gap:6px}.detail-icon{color:#bbb;font-size:15px}.time-axis-simple{background:#0000;margin:18px 0 0;padding:0}.time-grid-container{-webkit-overflow-scrolling:touch;display:flex;gap:2px;justify-content:flex-start;overflow-x:auto;padding:0;scrollbar-width:none}.time-grid-container::-webkit-scrollbar{display:none}.time-hour-group{align-items:center;display:flex;flex:0 0 auto;flex-direction:column;gap:4px}.hour-label{color:#666;font-size:10px;font-weight:500;line-height:1;text-align:center}.quarter-slots{grid-gap:0;border-radius:4px;box-shadow:0 1px 2px #0000001a;display:grid;gap:0;grid-template-rows:repeat(4,1fr);height:36px;overflow:hidden;width:100%}.time-slot-quarter{height:9px;transition:all .2s;width:100%}.time-slot-quarter.available{background:#c0e6f8}.time-slot-quarter.booked{background:#ff5757}.filter-form{padding:8px 0}.filter-item{margin-bottom:20px}.filter-label{color:#333;font-size:15px;font-weight:600;margin-bottom:8px}.filter-actions{margin-top:32px}@supports (padding:max(0px)){.mobile-room-list-new{padding-bottom:max(20px,env(safe-area-inset-bottom))}}@media (prefers-color-scheme:dark){.mobile-room-list-new{background:#1a1a1a}.date-selector-header,.top-nav-bar{background:#2a2a2a;border-color:#3a3a3a}.date-label,.nav-title{color:#fff}.date-weekday{color:#888}.room-info-card{background:#2a2a2a}.room-name{color:#fff}.room-detail-item{color:#999}.time-axis-simple{background:#0000}.hour-label{color:#999}.time-slot-quarter.available{background:#2b5d79}.time-slot-quarter.booked{background:#a04040}.quarter-slots{box-shadow:0 1px 3px #0000004d}.detail-icon{color:#888}.filter-label{color:#fff}}.mobile-my-bookings{background:#f5f5f5;min-height:100vh;padding-bottom:80px}.bookings-tabs{background:#fff;padding:0 16px}.bookings-tabs .ant-tabs-nav{margin:0}.bookings-tabs .ant-tabs-tab{font-size:14px;padding:12px 0}.bookings-tabs .ant-tabs-content{background:#f5f5f5;padding:16px}.booking-card{background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014;cursor:pointer;margin-bottom:12px;padding:16px;transition:all .3s}.booking-card:active{box-shadow:0 1px 4px #00000014;transform:scale(.98)}.booking-card-header{display:flex;gap:12px;margin-bottom:12px}.booking-date-badge{align-items:center;background:linear-gradient(135deg,#1890ff,#096dd9);border-radius:12px;color:#fff;display:flex;flex-direction:column;flex-shrink:0;height:60px;justify-content:center;width:50px}.date-day{font-size:24px;font-weight:600;line-height:1}.date-month{font-size:12px;margin-top:4px;text-transform:uppercase}.booking-card-content{flex:1 1;min-width:0}.booking-card-title{align-items:center;color:#333;display:flex;flex-wrap:wrap;font-size:16px;font-weight:600;gap:8px;margin-bottom:8px}.booking-card-location,.booking-card-room{align-items:center;color:#666;display:flex;font-size:13px;gap:6px;margin-bottom:4px}.booking-card-location .anticon,.booking-card-room .anticon{color:#1890ff}.booking-card-time{align-items:center;background:#f5f5f5;border-radius:8px;color:#666;display:flex;font-size:14px;gap:8px;margin-bottom:12px;padding:10px 12px}.booking-card-time .anticon{color:#1890ff}.booking-card-purpose{background:#f9f9f9;border-radius:8px;margin-bottom:12px;padding:12px}.purpose-label{color:#999;font-size:12px;margin-bottom:4px}.purpose-text{color:#666;font-size:13px;line-height:1.6}.booking-card-actions{margin-top:12px}.booking-card-actions .ant-btn{border-radius:8px;font-weight:500;height:40px}.ant-empty{padding:60px 20px}.mobile-booking-approval{background:#f5f7fa;min-height:100vh;padding-bottom:60px}.approval-header-bar{align-items:center;background:#fff;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:16px}.approval-header-bar h2{color:#333;font-size:18px;font-weight:600;margin:0}.approval-header-bar .anticon{color:#333;cursor:pointer;font-size:18px}.approval-tabs{background:#fff;padding:0 16px}.approval-tabs .ant-tabs-nav{margin-bottom:0}.approval-content{padding:12px}.approval-item{background:#fff;border-radius:12px;box-shadow:0 1px 4px #0000000d;cursor:pointer;margin-bottom:12px;padding:14px;transition:all .3s}.approval-item:active{box-shadow:0 2px 8px #0000001a;transform:scale(.98)}.approval-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.approval-title{color:#333;flex:1 1;font-size:16px;font-weight:600}.approval-info{margin-bottom:12px}.info-row{font-size:13px}.info-row .anticon{color:#999}.approval-actions{border-top:1px solid #f0f0f0;display:flex;gap:8px;padding-top:12px}.approval-actions .ant-btn{flex:1 1}.booking-detail{padding:8px 0}.detail-row{margin-bottom:12px}.detail-label{color:#666;flex-shrink:0;font-size:14px}.detail-value{color:#333;flex:1 1;font-size:14px}@supports (padding:max(0px)){.mobile-booking-approval{padding-bottom:max(60px,env(safe-area-inset-bottom))}}@media (prefers-color-scheme:dark){.mobile-booking-approval{background:#1a1a1a}.approval-header-bar,.approval-item,.approval-tabs{background:#2a2a2a;border-color:#3a3a3a}.approval-header-bar h2,.approval-title,.detail-value{color:#fff}.approval-header-bar .anticon,.detail-label,.info-row{color:#999}.approval-item:active{background:#333}}.mobile-approval{background:#f5f5f5;min-height:100vh;padding-bottom:80px}.approval-stats{background:linear-gradient(135deg,#52c41a,#389e0d);color:#fff;padding:24px 16px;text-align:center}.stats-item{display:inline-block}.stats-value{font-size:48px;font-weight:600;line-height:1}.stats-label{font-size:14px;margin-top:8px;opacity:.9}.approval-list{padding:16px}.approval-card{background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014;cursor:pointer;margin-bottom:12px;padding:16px;transition:all .3s}.approval-card:active{box-shadow:0 1px 4px #00000014;transform:scale(.98)}.approval-card-header{display:flex;gap:12px;margin-bottom:12px}.approval-date-badge{align-items:center;background:linear-gradient(135deg,#faad14,#d48806);border-radius:12px;color:#fff;display:flex;flex-direction:column;flex-shrink:0;height:60px;justify-content:center;width:50px}.approval-card-content{flex:1 1;min-width:0}.approval-card-title{align-items:center;color:#333;display:flex;flex-wrap:wrap;font-size:16px;font-weight:600;gap:8px;margin-bottom:8px}.approval-card-location,.approval-card-room,.approval-card-user{align-items:center;color:#666;display:flex;font-size:13px;gap:6px;margin-bottom:4px}.approval-card-location .anticon,.approval-card-room .anticon,.approval-card-user .anticon{color:#52c41a}.approval-card-time{align-items:center;background:#f5f5f5;border-radius:8px;color:#666;display:flex;font-size:14px;gap:8px;margin-bottom:12px;padding:10px 12px}.approval-card-time .anticon{color:#52c41a}.approval-card-purpose{background:#f9f9f9;border-radius:8px;margin-bottom:12px;padding:12px}.approval-card-actions{display:flex;gap:12px}.approval-card-actions .ant-btn{border-radius:8px;font-size:15px;font-weight:500;height:44px}.reject-modal .ant-modal-content{border-radius:16px}.reject-booking-info{background:#f5f5f5;border-radius:8px;padding:12px}.loading-text{color:#999;padding:60px 20px;text-align:center}.mobile-profile{background:#f5f5f5;min-height:100vh;padding-bottom:80px}.nav-edit{color:#1890ff;cursor:pointer;font-size:20px;padding:4px;transition:all .3s}.nav-edit:active{transform:scale(.9)}.profile-header{background:linear-gradient(135deg,#1890ff,#096dd9);border-radius:0 0 24px 24px;color:#fff;padding:32px 16px;text-align:center}.avatar-container{display:inline-block;margin-bottom:16px;position:relative}.user-avatar{border:4px solid #ffffff4d;box-shadow:0 4px 12px #0003}.camera-icon{align-items:center;background:#fff;border:2px solid #1890ff;border-radius:50%;bottom:0;box-shadow:0 2px 8px #00000026;cursor:pointer;display:flex;height:32px;justify-content:center;position:absolute;right:0;width:32px}.camera-icon .anticon{color:#1890ff;font-size:16px}.user-name{color:#fff;font-size:24px;font-weight:600;margin:0}.user-position{color:#fff;font-size:14px;margin:8px 0 0;opacity:.9}.profile-info{background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014;margin:16px;overflow:hidden}.info-item{align-items:center!important;border-bottom:1px solid #f0f0f0;display:flex!important;gap:12px;padding:16px 20px!important}.info-item:last-child{border-bottom:none}.info-icon{align-items:center;background:linear-gradient(135deg,#e6f7ff,#bae7ff);border-radius:10px;color:#1890ff;display:flex;flex-shrink:0;font-size:18px;height:40px;justify-content:center;width:40px}.info-content{flex:1 1;min-width:0}.info-label{font-size:12px;margin-bottom:4px}.info-value{color:#333;font-size:15px;font-weight:500}.profile-actions{margin-top:20px;padding:0 16px}.profile-actions .ant-btn{border-radius:12px;font-size:16px;font-weight:500;height:48px}.edit-modal .ant-modal-content{border-radius:16px}.edit-modal .ant-modal-header{border-radius:16px 16px 0 0}.edit-modal .ant-form-item-label>label{font-weight:500}.edit-modal .ant-btn-primary{border-radius:8px;height:44px;margin-top:8px}.mobile-workstation-map{background:#f5f7fa;min-height:100vh;padding-bottom:20px}.workstation-header{align-items:center;background:#fff;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:16px}.workstation-toolbar{gap:12px}.workstation-legend,.workstation-toolbar{background:#fff;border-bottom:1px solid #f0f0f0;display:flex;padding:12px 16px}.workstation-legend{gap:24px;justify-content:center}.legend-item{align-items:center;color:#666;display:flex;font-size:13px;gap:8px}.legend-color{border:1px solid #d9d9d9;border-radius:4px;height:16px;width:16px}.workstation-map-container{-webkit-overflow-scrolling:touch;align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;display:flex;justify-content:center;margin:12px;max-height:calc(100vh - 280px);min-height:500px;overflow:auto;position:relative;width:calc(100% - 24px)}.workstation-map-container svg{display:block;flex-shrink:0;height:500px;transition:transform .3s ease-out;width:100%}.map-empty,.map-loading{align-items:center;display:flex;flex-direction:column;gap:12px;height:100%;justify-content:center;width:100%}.map-empty:before,.map-loading:before{content:"🖥️";font-size:48px;opacity:.5}.map-empty,.map-loading{color:#999;font-size:16px}.zoom-controls{bottom:80px;display:flex;flex-direction:column;gap:8px;position:fixed;right:16px;z-index:10}.zoom-controls .ant-btn{background:#fff;box-shadow:0 2px 8px #00000026}.workstation-hint{color:#999;font-size:13px;line-height:1.6;padding:12px 16px;text-align:center}.workstation-detail{padding:8px 0}.detail-row{align-items:center;display:flex;font-size:15px;padding:12px 0}.detail-label{min-width:90px}@supports (padding:max(0px)){.mobile-workstation-map{padding-bottom:max(20px,env(safe-area-inset-bottom))}.zoom-controls{bottom:max(80px,calc(80px + env(safe-area-inset-bottom)))}}@media (prefers-color-scheme:dark){.mobile-workstation-map{background:#1a1a1a}.workstation-header,.workstation-legend,.workstation-map-container,.workstation-toolbar{background:#2a2a2a;border-color:#3a3a3a}.page-title{color:#fff}.legend-item{color:#ccc}.detail-label,.workstation-hint{color:#888}.workstation-map-container{background:#2a2a2a}.workstation-map-container svg rect[fill="#f5f5f5"]{fill:#2a2a2a}.workstation-map-container svg text{fill:#fff!important}.workstation-map-container svg line{stroke:#3a3a3a!important}}.mobile-room-booking{background:#f5f5f5;min-height:100vh;padding-bottom:80px}.date-selector{background:#fff;border-bottom:1px solid #f0f0f0;display:flex;gap:8px;overflow-x:auto;padding:12px 8px}.date-item{border-radius:12px;cursor:pointer;flex-shrink:0;min-width:60px;padding:12px 8px;text-align:center;transition:all .3s}.date-item.active{background:#1890ff;color:#fff}.date-label{font-size:12px;margin-bottom:4px}.date-item.active .date-label{color:#91d5ff}.date-value{font-size:20px;font-weight:700;margin-bottom:2px}.date-weekday{font-size:11px;opacity:.8}.room-card{background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014;margin:12px;overflow:hidden}.room-image{height:200px;overflow:hidden;position:relative;width:100%}.room-image img{height:100%;object-fit:cover;width:100%}.filter-btn{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffe6;position:absolute;right:16px;top:16px}.room-info{padding:16px}.room-name{color:#333;font-size:20px;font-weight:600;margin:0 0 8px}.room-meta{color:#666;display:flex;font-size:14px;gap:16px}.room-capacity,.room-location{align-items:center;display:flex;gap:4px}.time-slots-container{background:#fff;border-radius:16px;margin:12px;overflow-x:auto;padding:16px}.time-header{margin-bottom:8px}.time-axis{display:flex;gap:4px}.time-label{color:#999;flex:1 1;font-size:12px;min-width:50px;text-align:center}.time-grid{display:flex;gap:4px}.time-slot{border:2px solid #0000;border-radius:8px;cursor:pointer;flex:1 1;height:60px;min-width:50px;transition:all .3s}.time-slot.available{background:#f0f0f0;border-color:#d9d9d9}.time-slot.available:active{transform:scale(.95)}.time-slot.selected{background:#1890ff;border-color:#1890ff}.time-slot.booked{background:#ff4d4f;border-color:#ff4d4f;cursor:not-allowed;opacity:.6}.booking-footer{align-items:center;background:#fff;bottom:0;box-shadow:0 -2px 8px #0000001a;display:flex;justify-content:space-between;left:0;padding:16px;position:fixed;right:0;z-index:100}.selected-info{color:#333;font-size:14px;font-weight:600}.booking-footer .ant-btn{min-width:120px}.back-button{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffe6;box-shadow:0 2px 8px #0000001a;left:16px;position:fixed;top:16px;z-index:999}.loading-container{align-items:center;color:#999;display:flex;font-size:16px;height:100vh;justify-content:center}.filter-content{color:#999;padding:20px;text-align:center}@supports (padding:max(0px)){.mobile-room-booking{padding-bottom:max(80px,env(safe-area-inset-bottom))}.booking-footer{padding-bottom:max(16px,env(safe-area-inset-bottom))}}@media (prefers-color-scheme:dark){.mobile-room-booking{background:#1a1a1a}.booking-footer,.date-selector,.room-card,.time-slots-container{background:#2a2a2a;border-color:#3a3a3a}.room-name{color:#fff}.room-meta{color:#ccc}.time-slot.available{background:#3a3a3a;border-color:#4a4a4a}.selected-info{color:#fff}}.mobile-visitor{background:#f5f7fa;min-height:100vh;padding-bottom:60px}.visitor-header{align-items:center;background:#fff;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:16px}.visitor-content{padding:12px}.visitor-card{background:#fff;border-radius:12px;box-shadow:0 1px 4px #0000000d;margin-bottom:12px;padding:16px}.visitor-header-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.visitor-name{align-items:center;color:#333;display:flex;flex:1 1;font-size:16px;font-weight:600;gap:6px;margin:0}.visitor-info{background:#f5f7fa;border-radius:8px;margin-bottom:12px;padding:12px}.visitor-actions{display:flex;gap:8px;justify-content:flex-end}@supports (padding:max(0px)){.mobile-visitor{padding-bottom:max(60px,env(safe-area-inset-bottom))}}@media (prefers-color-scheme:dark){.mobile-visitor{background:#1a1a1a}.visitor-card,.visitor-header{background:#2a2a2a;border-color:#3a3a3a}.page-title,.visitor-name{color:#fff}.visitor-info{background:#1a1a1a}.info-row{color:#ccc}}.mobile-logistics{background:#f5f7fa;min-height:100vh;padding-bottom:60px}.logistics-header{align-items:center;background:#fff;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:16px}.logistics-content{padding:12px}.logistics-card{background:#fff;border-radius:12px;box-shadow:0 1px 4px #0000000d;margin-bottom:12px;padding:16px}.logistics-header-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.logistics-title{color:#333;flex:1 1;font-size:16px;font-weight:600;margin:0}.logistics-info{background:#f5f7fa;border-radius:8px;padding:12px}.info-row{align-items:flex-start;line-height:1.6}@supports (padding:max(0px)){.mobile-logistics{padding-bottom:max(60px,env(safe-area-inset-bottom))}}@media (prefers-color-scheme:dark){.mobile-logistics{background:#1a1a1a}.logistics-card,.logistics-header{background:#2a2a2a;border-color:#3a3a3a}.logistics-title,.page-title{color:#fff}.logistics-info{background:#1a1a1a}.info-row{color:#ccc}}.mobile-assets{background:#f5f7fa;min-height:100vh;padding-bottom:60px}.assets-header{align-items:center;display:flex;justify-content:space-between;padding:16px}.assets-header,.assets-search{background:#fff;border-bottom:1px solid #f0f0f0}.assets-search{padding:8px 12px}.assets-search .ant-input-search{max-width:100%}.assets-search .ant-input-search .ant-input{font-size:14px;height:36px}.assets-search .ant-input-search .ant-btn{height:36px}.assets-content{padding:12px}.asset-card{background:#fff;border-radius:12px;box-shadow:0 1px 4px #0000000d;cursor:pointer;margin-bottom:12px;padding:16px;transition:all .3s}.asset-card:active{transform:scale(.98)}.asset-header-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.asset-name{color:#333;flex:1 1;font-size:16px;font-weight:600;margin:0}.asset-info{display:flex;flex-wrap:wrap;gap:12px}.info-item{align-items:center;color:#666;display:flex;font-size:13px;gap:4px}.info-label{color:#999}.asset-detail{padding:8px 0}.detail-section{margin-bottom:24px}.detail-title{border-bottom:1px solid #f0f0f0;color:#333;font-size:15px;font-weight:600;margin-bottom:12px;padding-bottom:8px}.detail-item{display:flex;font-size:14px;padding:8px 0}.detail-label{color:#999;min-width:80px}.detail-desc{color:#666;font-size:14px;line-height:1.6}@supports (padding:max(0px)){.mobile-assets{padding-bottom:max(60px,env(safe-area-inset-bottom))}}@media (prefers-color-scheme:dark){.mobile-assets{background:#1a1a1a}.asset-card,.assets-header,.assets-search{background:#2a2a2a;border-color:#3a3a3a}.asset-name,.detail-title,.page-title{color:#fff}.detail-desc,.info-item{color:#ccc}.detail-label,.info-label{color:#888}}.mobile-iot{background:#f5f7fa;min-height:100vh;padding-bottom:60px}.iot-header{align-items:center;display:flex;justify-content:space-between;padding:16px}.device-tabs,.iot-header{background:#fff;border-bottom:1px solid #f0f0f0}.device-tabs{padding:0 16px}.iot-content{padding:12px}.device-card{border-radius:12px;margin-bottom:12px}.device-header{gap:12px;margin-bottom:16px}.device-header,.device-icon{align-items:center;display:flex}.device-icon{background:#f5f5f5;border-radius:12px;font-size:32px;height:50px;justify-content:center;width:50px}.device-info{flex:1 1}.device-name{color:#333;font-size:16px;font-weight:600;margin:0}.device-location{align-items:center;color:#999;display:flex;font-size:13px;gap:4px;margin-top:4px}.device-status{border-radius:12px;font-size:12px;font-weight:500;padding:4px 12px}.device-status.online{background:#f6ffed;border:1px solid #b7eb8f;color:#52c41a}.device-status.offline{background:#f5f5f5;border:1px solid #d9d9d9;color:#999}.device-control{background:#fafafa;border-radius:8px;padding:16px}.control-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.control-row:last-child{margin-bottom:0}.control-row span{color:#666;font-size:14px;min-width:60px}.control-buttons{display:flex;gap:8px;justify-content:space-around}.control-buttons .ant-btn{flex:1 1}@supports (padding:max(0px)){.mobile-iot{padding-bottom:max(60px,env(safe-area-inset-bottom))}}@media (prefers-color-scheme:dark){.mobile-iot{background:#1a1a1a}.device-card,.device-tabs,.iot-header{background:#2a2a2a;border-color:#3a3a3a}.device-name,.page-title{color:#fff}.device-icon{background:#333}.device-location{color:#888}.device-control{background:#1a1a1a}.control-row span{color:#ccc}}.mobile-checkin{background:#f5f7fa;min-height:100vh;padding-bottom:60px}.checkin-header{align-items:center;background:#fff;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:16px}.checkin-content{padding:12px}.activity-card{border-radius:12px;box-shadow:0 1px 4px #0000000d;margin-bottom:12px}.activity-header-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.activity-title{color:#333;flex:1 1;font-size:16px;font-weight:600;margin:0}.activity-info{background:#f5f7fa;border-radius:8px;margin-bottom:12px;padding:12px}.info-row{gap:8px;margin-bottom:8px}.activity-desc{background:#fafafa;border-left:3px solid #1890ff;border-radius:8px;color:#666;font-size:14px;line-height:1.6;margin-bottom:16px;padding:12px}.activity-actions{margin-top:16px}@supports (padding:max(0px)){.mobile-checkin{padding-bottom:max(60px,env(safe-area-inset-bottom))}}@media (prefers-color-scheme:dark){.mobile-checkin{background:#1a1a1a}.activity-card,.checkin-header{background:#2a2a2a;border-color:#3a3a3a}.activity-title,.page-title{color:#fff}.activity-info{background:#1a1a1a}.activity-desc,.info-row{color:#ccc}.activity-desc{background:#1a1a1a}}.mobile-meeting-ext{background:#f5f7fa;min-height:100vh;padding-bottom:60px}.meeting-ext-header{align-items:center;display:flex;justify-content:space-between;padding:16px}.meeting-ext-header,.meeting-ext-tabs{background:#fff;border-bottom:1px solid #f0f0f0}.meeting-ext-tabs{padding:0 16px}.meeting-ext-content{padding:12px}.loading-wrapper{display:flex;justify-content:center;padding:60px 0}.minute-card{border-radius:12px;margin-bottom:12px}.minute-header{justify-content:space-between;margin-bottom:12px}.minute-header,.minute-title{align-items:center;display:flex}.minute-title{color:#333;flex:1 1;font-size:16px;font-weight:600;gap:8px;margin:0}.minute-info{background:#f5f7fa;border-radius:8px;margin-bottom:12px;padding:12px}.info-row{align-items:center;color:#666;display:flex;font-size:14px;gap:6px;margin-bottom:6px}.info-row:last-child{margin-bottom:0}.minute-content{margin-bottom:12px}.content-title{color:#333;font-size:14px;font-weight:600;margin-bottom:8px}.content-text{color:#666;font-size:14px;line-height:1.6;white-space:pre-wrap}.minute-decisions{margin-bottom:12px}.decision-item{align-items:flex-start;background:#f0f9ff;border-left:3px solid #1890ff;border-radius:4px;color:#666;display:flex;font-size:14px;gap:8px;margin-bottom:8px;padding:8px 12px}.minute-attachments{margin-bottom:12px}.attachment-item{align-items:center;background:#fafafa;border-radius:4px;color:#1890ff;cursor:pointer;display:flex;font-size:14px;gap:8px;margin-bottom:6px;padding:8px 12px}.vote-card{border-radius:12px;margin-bottom:12px}.vote-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.vote-title{color:#333;flex:1 1;font-size:16px;font-weight:600;margin:0}.vote-info{background:#f5f7fa;border-radius:8px;padding:12px}.vote-info,.vote-options,.vote-result{margin-bottom:16px}.result-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.result-label{color:#333;font-size:14px;font-weight:500}.result-count{color:#1890ff;font-size:14px;font-weight:600}.vote-stats{border-top:1px solid #f0f0f0;color:#999;font-size:13px;padding-top:12px;text-align:center}@supports (padding:max(0px)){.mobile-meeting-ext{padding-bottom:max(60px,env(safe-area-inset-bottom))}}@media (prefers-color-scheme:dark){.mobile-meeting-ext{background:#1a1a1a}.meeting-ext-header,.meeting-ext-tabs,.minute-card,.vote-card{background:#2a2a2a;border-color:#3a3a3a}.content-title,.minute-title,.page-title,.result-label,.vote-title{color:#fff}.minute-info,.vote-info{background:#1a1a1a}.content-text,.decision-item,.info-row{color:#ccc}.decision-item{background:#1a3a4a}.attachment-item{background:#1a1a1a}}.mobile-coming-soon{background:#f5f7fa;min-height:100vh;padding-bottom:60px}.coming-soon-header{align-items:center;background:#fff;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:16px}.coming-soon-content{align-items:center;display:flex;justify-content:center;min-height:calc(100vh - 150px);padding:40px 20px}.empty-icon{color:#d9d9d9;font-size:120px;margin-bottom:24px}.empty-desc{text-align:center}.module-icon{font-size:60px;margin-bottom:16px}.empty-desc h3{color:#333;font-size:20px;font-weight:600;margin:0 0 8px}.empty-desc p{color:#666;font-size:14px;margin:4px 0}.empty-desc .hint{color:#999;font-size:13px;margin-top:12px}.mobile-coming-soon .ant-empty-description{margin-bottom:24px}@media (prefers-color-scheme:dark){.mobile-coming-soon{background:#1a1a1a}.coming-soon-header{background:#2a2a2a;border-color:#3a3a3a}.empty-desc h3,.page-title{color:#fff}.empty-desc p{color:#ccc}.empty-desc .hint{color:#888}}@supports (padding:max(0px)){.mobile-coming-soon{padding-bottom:max(60px,env(safe-area-inset-bottom))}}.mobile-settings-page{background:#f5f5f5;min-height:100vh}.settings-header{align-items:center;background:#fff;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:12px 16px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.settings-title{color:#000;font-size:18px;font-weight:500}.settings-content{padding:12px 0}.settings-section{background:#fff;margin-bottom:12px;padding:16px}.section-title{border-bottom:1px solid #f0f0f0;color:#000;font-size:14px;font-weight:500;margin-bottom:12px;padding-bottom:8px}.settings-section .ant-list-item{border-bottom:1px solid #f5f5f5;padding:12px 0}.settings-section .ant-list-item:last-child{border-bottom:none}.settings-section .ant-list-item-meta-title{color:#000;font-size:15px;margin-bottom:4px}.settings-section .ant-list-item-meta-description{color:#999;font-size:13px}.contact-card{display:flex;flex-direction:column;gap:16px}.contact-item{align-items:center;background:#fafafa;border-radius:8px;display:flex;gap:16px;padding:16px}.contact-info{flex:1 1}.contact-label{color:#999;font-size:13px;margin-bottom:4px}.contact-value{color:#000;font-size:15px;font-weight:500}@media (prefers-color-scheme:dark){.mobile-settings-page{background:#1a1a1a}.settings-header{background:#2a2a2a;border-bottom-color:#3a3a3a}.settings-title{color:#fff}.settings-section{background:#2a2a2a}.section-title{color:#fff}.section-title,.settings-section .ant-list-item{border-bottom-color:#3a3a3a}.settings-section .ant-list-item-meta-title{color:#fff}.contact-item{background:#1a1a1a}.contact-value{color:#fff}}.App{background:#fff;min-height:100vh;min-height:100dvh}.dashboard-layout{height:100vh;height:100dvh;overflow:hidden}.dashboard-layout .ant-layout-sider{bottom:0;height:100vh;height:100dvh;left:0;max-width:200px!important;max-width:var(--sider-width,200px)!important;min-width:200px!important;min-width:var(--sider-width,200px)!important;overflow-x:hidden;overflow-y:auto;position:fixed;top:0;width:200px!important;width:var(--sider-width,200px)!important}.dashboard-layout .ant-layout-sider-collapsed{max-width:80px!important;max-width:var(--sider-collapsed-width,80px)!important;min-width:80px!important;min-width:var(--sider-collapsed-width,80px)!important;overflow-y:auto;width:80px!important;width:var(--sider-collapsed-width,80px)!important}.dashboard-layout>.ant-layout{display:flex;flex-direction:column;height:100vh;height:100dvh;margin-left:200px;margin-left:var(--sider-width,200px)}.dashboard-layout .ant-layout-sider-collapsed+.ant-layout{margin-left:80px;margin-left:var(--sider-collapsed-width,80px)}.dashboard-layout .ant-layout-header{flex-shrink:0;height:64px!important;height:var(--header-height,64px)!important;line-height:64px!important;line-height:var(--header-height,64px)!important}.dashboard-layout .ant-layout-content{flex:1 1;height:calc(100vh - 64px);height:calc(100vh - var(--header-height, 64px));height:calc(100dvh - 64px);height:calc(100dvh - var(--header-height, 64px));overflow-x:hidden;overflow-y:auto}.site-layout-content{background:#f0f2f5;min-height:100%;padding:24px;padding:var(--spacing-lg,24px)}.page-container{padding:0}.filter-bar{align-items:center;background:#fff;display:flex;padding:16px 24px}.custom-card,.filter-bar{border-radius:8px;box-shadow:0 2px 8px #0000000f;margin-bottom:24px}.custom-card .ant-card-head{background:linear-gradient(135deg,#1890ff,#096dd9);border-radius:8px 8px 0 0}.custom-card .ant-card-head-title{color:#fff;font-weight:600}.custom-table{overflow-x:auto}.ant-layout-sider::-webkit-scrollbar,.ant-menu::-webkit-scrollbar,.dashboard-layout .ant-layout-content::-webkit-scrollbar,.dashboard-layout .ant-layout-sider::-webkit-scrollbar{height:8px;width:8px}.ant-layout-sider::-webkit-scrollbar-track,.ant-menu::-webkit-scrollbar-track,.dashboard-layout .ant-layout-content::-webkit-scrollbar-track,.dashboard-layout .ant-layout-sider::-webkit-scrollbar-track{background:#0000!important}.ant-layout-sider::-webkit-scrollbar-thumb,.ant-menu::-webkit-scrollbar-thumb,.dashboard-layout .ant-layout-sider::-webkit-scrollbar-thumb{background:#ffffff26!important;border-radius:4px;-webkit-transition:background .3s;transition:background .3s}.dashboard-layout .ant-layout-content::-webkit-scrollbar-thumb{background:#0000001a;border-radius:4px;-webkit-transition:background .3s;transition:background .3s}.ant-layout-sider::-webkit-scrollbar-thumb:hover,.ant-menu::-webkit-scrollbar-thumb:hover,.dashboard-layout .ant-layout-sider::-webkit-scrollbar-thumb:hover{background:#ffffff40!important}.dashboard-layout .ant-layout-content::-webkit-scrollbar-thumb:hover{background:#0003}.approval-header-banner .ant-btn,.approval-header-banner .ant-btn-primary,.approval-header-banner button,.page-header-content .ant-btn,.page-header-content .ant-btn-primary,.page-header-content button,[class*=banner] button.ant-btn-primary,[class*=header] button.ant-btn-primary,[style*="background: linear-gradient"] .ant-btn,[style*="background: linear-gradient"] button,[style*="background:linear-gradient"] .ant-btn,[style*="background:linear-gradient"] button,[style*=linear-gradient] .ant-btn,[style*=linear-gradient] .ant-btn-primary,[style*=linear-gradient] button,div[style*="#1890ff"] .ant-btn,div[style*="#1890ff"] button,div[style*="1890ff"] .ant-btn,div[style*="1890ff"] button,div[style*=background] button.ant-btn-primary{background:#1890ff!important;background-color:#1890ff!important;border:none!important;box-shadow:none!important;-webkit-box-shadow:none!important;-moz-box-shadow:none!important;color:#fff!important;font-weight:600!important;outline:none!important}.approval-header-banner .ant-btn:hover,.approval-header-banner button:hover,.page-header-content .ant-btn-primary:hover,.page-header-content .ant-btn:hover,.page-header-content button:hover,[class*=banner] button.ant-btn-primary:hover,[class*=header] button.ant-btn-primary:hover,[style*="background:linear-gradient"] .ant-btn:hover,[style*="background:linear-gradient"] button:hover,[style*=linear-gradient] .ant-btn:hover,[style*=linear-gradient] button:hover,div[style*="#1890ff"] .ant-btn:hover,div[style*="#1890ff"] button:hover,div[style*="1890ff"] .ant-btn:hover,div[style*="1890ff"] button:hover,div[style*=background] button.ant-btn-primary:hover{background:#1890ff!important;background-color:#1890ff!important;border:none!important;box-shadow:none!important;color:#fff!important;opacity:.85;outline:none!important}.approval-header-banner .ant-btn:active,.approval-header-banner button:active,.page-header-content .ant-btn:active,.page-header-content button:active,[class*=banner] button.ant-btn-primary:active,[class*=header] button.ant-btn-primary:active,[style*="background:linear-gradient"] .ant-btn:active,[style*="background:linear-gradient"] button:active,[style*=linear-gradient] .ant-btn:active,[style*=linear-gradient] button:active,div[style*="#1890ff"] .ant-btn:active,div[style*="#1890ff"] button:active,div[style*="1890ff"] .ant-btn:active,div[style*="1890ff"] button:active,div[style*=background] button.ant-btn-primary:active{background:#1890ff!important;background-color:#1890ff!important;border:none!important;box-shadow:none!important;color:#fff!important;opacity:.75;outline:none!important}.approval-header-banner .ant-btn:focus,.approval-header-banner button:focus,.page-header-content .ant-btn:focus,.page-header-content button:focus,[class*=banner] button.ant-btn-primary:focus,[class*=header] button.ant-btn-primary:focus,[style*="background:linear-gradient"] .ant-btn:focus,[style*="background:linear-gradient"] button:focus,[style*=linear-gradient] .ant-btn:focus,[style*=linear-gradient] button:focus,div[style*="#1890ff"] .ant-btn:focus,div[style*="#1890ff"] button:focus,div[style*="1890ff"] .ant-btn:focus,div[style*="1890ff"] button:focus,div[style*=background] button.ant-btn-primary:focus{background:#1890ff!important;background-color:#1890ff!important;border:none!important;box-shadow:none!important;color:#fff!important;outline:none!important}.ant-btn-primary,.ant-btn.ant-btn-primary,button.ant-btn-primary{color:#fff!important;font-weight:600!important}[class*=banner] .ant-btn-primary,[class*=header] .ant-btn-primary,[style*="#096dd9"] .ant-btn-primary,[style*="#1890ff"] .ant-btn-primary,[style*="096dd9"] .ant-btn-primary,[style*="1890ff"] .ant-btn-primary,[style*=background] .ant-btn-primary,[style*=linear-gradient] .ant-btn-primary,div[class*=approval] .ant-btn-primary{background:#1890ff!important;background-color:#1890ff!important;border-color:#0000!important;color:#fff!important;font-weight:600!important}.ant-btn-primary:hover,[style*=background] .ant-btn-primary:hover,[style*=linear-gradient] .ant-btn-primary:hover,button.ant-btn-primary:hover{color:#fff!important;opacity:.85}.ant-btn-primary:active,[style*=background] .ant-btn-primary:active,[style*=linear-gradient] .ant-btn-primary:active,button.ant-btn-primary:active{color:#fff!important;opacity:.75}.ant-btn-primary:focus,[style*=background] .ant-btn-primary:focus,[style*=linear-gradient] .ant-btn-primary:focus,button.ant-btn-primary:focus{color:#fff!important}.asset-list-container .ant-btn-primary,.asset-repair-container .ant-btn-primary,.company-info-container .ant-btn-primary,.info-publish-container .ant-btn-primary,.item-management-container .ant-btn-primary,.media-management-container .ant-btn-primary,.service-request-container .ant-btn-primary,.visitor-management-container .ant-btn-primary,.visitor-track-container .ant-btn-primary{color:#fff!important;font-weight:600!important}.ant-btn-primary span,button.ant-btn-primary span{color:inherit!important}.ant-input-search>.ant-input-group{align-items:stretch!important;border-radius:6px!important;display:flex!important}.ant-input-search .ant-input,.ant-input-search .ant-input-affix-wrapper,.ant-input-search>.ant-input-group>.ant-input{border-radius:6px 0 0 6px!important;border-right:0!important}.ant-input-search>.ant-input-group>.ant-input-group-addon:last-child{align-items:center!important;background-color:initial!important;border:none!important;display:flex!important;padding:0!important}.ant-input-search-button,.ant-input-search-button .ant-btn,.ant-input-search>.ant-input-group>.ant-input-group-addon .ant-btn{background:#1890ff!important;border:none!important;border-radius:0 6px 6px 0!important;box-shadow:none!important;color:#fff!important;font-weight:600!important;height:100%!important;padding:0 15px!important}.ant-input-search-button .ant-btn:hover,.ant-input-search-button:hover,.ant-input-search>.ant-input-group>.ant-input-group-addon .ant-btn:hover{background:#40a9ff!important;color:#fff!important}.ant-input-search-focused .ant-input-search-button,.ant-input-search-focused>.ant-input-group>.ant-input-group-addon:last-child,.ant-input-search:hover .ant-input,.ant-input-search:hover .ant-input-search-button,.ant-input-search:hover>.ant-input-group>.ant-input-group-addon:last-child{border-color:#40a9ff!important}.ant-space-compact{display:inline-flex!important}.ant-space-compact>.ant-input{border-radius:6px 0 0 6px!important;flex:1 1}.ant-space-compact>.ant-btn-primary{background:#1890ff!important;border:none!important;border-radius:0 6px 6px 0!important;font-weight:600!important}.ant-space-compact>.ant-btn-primary:hover{background:#40a9ff!important}.ant-input-group-compact{display:flex!important}.ant-input-group-compact>.ant-input{border-radius:6px 0 0 6px!important}.ant-input-group-compact>.ant-btn-primary{background:#1890ff!important;border:none!important;border-radius:0 6px 6px 0!important;font-weight:600!important}.ant-input-group-compact>.ant-btn-primary:hover{background:#40a9ff!important}