html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}:root{--primary-color: rgb(248, 180, 196);--primary-hover: rgb(245, 160, 180);--primary-light: rgb(252, 200, 210);--text-primary: rgb(51, 51, 51);--text-secondary: rgb(136, 136, 136);--text-light: rgb(200, 200, 200);--text-white: rgb(255, 255, 255);--bg-primary: rgb(255, 255, 255);--bg-secondary: rgb(248, 249, 250);--bg-light: rgb(250, 250, 250);--page-background: #ffe8e8;--border-primary: rgb(234, 234, 234);--border-light: rgb(240, 240, 240);--border-dark: rgb(200, 200, 200);--success-color: rgb(40, 167, 69);--warning-color: rgb(255, 193, 7);--error-color: rgb(220, 53, 69);--info-color: rgb(23, 162, 184);--shadow-color: rgba(0, 0, 0, .1);--shadow-light: rgba(0, 0, 0, .05);--shadow-dark: rgba(0, 0, 0, .2)}:root{--scale-ratio: 1;--base-font-xs: calc(10px * var(--scale-ratio, 1));--base-font-sm: calc(12px * var(--scale-ratio, 1));--base-font-md: calc(14px * var(--scale-ratio, 1));--base-font-lg: calc(16px * var(--scale-ratio, 1));--base-font-xl: calc(18px * var(--scale-ratio, 1));--base-font-xxl: calc(20px * var(--scale-ratio, 1));--base-font-title: calc(24px * var(--scale-ratio, 1));--base-spacing-xs: calc(4px * var(--scale-ratio, 1));--base-spacing-sm: calc(8px * var(--scale-ratio, 1));--base-spacing-md: calc(12px * var(--scale-ratio, 1));--base-spacing-lg: calc(16px * var(--scale-ratio, 1));--base-spacing-xl: calc(20px * var(--scale-ratio, 1));--base-spacing-xxl: calc(24px * var(--scale-ratio, 1));--base-border-radius-sm: calc(4px * var(--scale-ratio, 1));--base-border-radius-md: calc(6px * var(--scale-ratio, 1));--base-border-radius-lg: calc(8px * var(--scale-ratio, 1));--font-xs: calc(var(--base-font-xs) * var(--scale-ratio));--font-sm: calc(var(--base-font-sm) * var(--scale-ratio));--font-md: calc(var(--base-font-md) * var(--scale-ratio));--font-lg: calc(var(--base-font-lg) * var(--scale-ratio));--font-xl: calc(var(--base-font-xl) * var(--scale-ratio));--font-xxl: calc(var(--base-font-xxl) * var(--scale-ratio));--font-title: calc(var(--base-font-title) * var(--scale-ratio));--spacing-xs: calc(var(--base-spacing-xs) * var(--scale-ratio));--spacing-sm: calc(var(--base-spacing-sm) * var(--scale-ratio));--spacing-md: calc(var(--base-spacing-md) * var(--scale-ratio));--spacing-lg: calc(var(--base-spacing-lg) * var(--scale-ratio));--spacing-xl: calc(var(--base-spacing-xl) * var(--scale-ratio));--spacing-xxl: calc(var(--base-spacing-xxl) * var(--scale-ratio));--border-radius-sm: calc(var(--base-border-radius-sm) * var(--scale-ratio));--border-radius-md: calc(var(--base-border-radius-md) * var(--scale-ratio));--border-radius-lg: calc(var(--base-border-radius-lg) * var(--scale-ratio))}:root{--ant-scale-ratio: var(--scale-ratio, 1);--ant-font-size-base: calc(calc(14px * var(--scale-ratio, 1)) * var(--ant-scale-ratio));--ant-font-size-sm: calc(calc(12px * var(--scale-ratio, 1)) * var(--ant-scale-ratio));--ant-font-size-lg: calc(calc(16px * var(--scale-ratio, 1)) * var(--ant-scale-ratio));--ant-font-size-xl: calc(calc(18px * var(--scale-ratio, 1)) * var(--ant-scale-ratio));--ant-height-base: calc(calc(32px * var(--scale-ratio, 1)) * var(--ant-scale-ratio));--ant-height-sm: calc(calc(24px * var(--scale-ratio, 1)) * var(--ant-scale-ratio));--ant-height-lg: calc(calc(40px * var(--scale-ratio, 1)) * var(--ant-scale-ratio));--ant-padding-xs: calc(calc(8px * var(--scale-ratio, 1)) * var(--ant-scale-ratio));--ant-padding-sm: calc(calc(12px * var(--scale-ratio, 1)) * var(--ant-scale-ratio));--ant-padding-md: calc(calc(16px * var(--scale-ratio, 1)) * var(--ant-scale-ratio));--ant-padding-lg: calc(calc(24px * var(--scale-ratio, 1)) * var(--ant-scale-ratio));--ant-padding-xl: calc(calc(32px * var(--scale-ratio, 1)) * var(--ant-scale-ratio));--ant-border-radius-base: calc(calc(6px * var(--scale-ratio, 1)) * var(--ant-scale-ratio));--ant-border-radius-sm: calc(calc(4px * var(--scale-ratio, 1)) * var(--ant-scale-ratio));--ant-border-radius-lg: calc(calc(8px * var(--scale-ratio, 1)) * var(--ant-scale-ratio))}.ant-btn{height:var(--ant-height-base)!important;padding:calc(calc(4px * var(--scale-ratio, 1)) * var(--ant-scale-ratio)) calc(calc(15px * var(--scale-ratio, 1)) * var(--ant-scale-ratio))!important;font-size:var(--ant-font-size-base)!important;border-radius:var(--ant-border-radius-base)!important;line-height:calc(calc(22px * var(--scale-ratio, 1)) * var(--ant-scale-ratio))!important}.ant-btn-sm{height:var(--ant-height-sm)!important;padding:calc(calc(0px * var(--scale-ratio, 1)) * var(--ant-scale-ratio)) calc(calc(7px * var(--scale-ratio, 1)) * var(--ant-scale-ratio))!important;font-size:var(--ant-font-size-sm)!important}.ant-btn-lg{height:var(--ant-height-lg)!important;padding:calc(calc(6.4px * var(--scale-ratio, 1)) * var(--ant-scale-ratio)) calc(calc(15px * var(--scale-ratio, 1)) * var(--ant-scale-ratio))!important;font-size:var(--ant-font-size-lg)!important}.ant-btn .anticon{font-size:var(--ant-font-size-base)!important}.ant-input{height:var(--ant-height-base)!important;padding:calc(calc(4px * var(--scale-ratio, 1)) * var(--ant-scale-ratio)) calc(calc(11px * var(--scale-ratio, 1)) * var(--ant-scale-ratio))!important;font-size:var(--ant-font-size-base)!important;border-radius:var(--ant-border-radius-base)!important}.ant-input-sm{height:var(--ant-height-sm)!important;padding:calc(calc(0px * var(--scale-ratio, 1)) * var(--ant-scale-ratio)) calc(calc(7px * var(--scale-ratio, 1)) * var(--ant-scale-ratio))!important;font-size:var(--ant-font-size-sm)!important}.ant-input-lg{height:var(--ant-height-lg)!important;padding:calc(calc(6.4px * var(--scale-ratio, 1)) * var(--ant-scale-ratio)) calc(calc(11px * var(--scale-ratio, 1)) * var(--ant-scale-ratio))!important;font-size:var(--ant-font-size-lg)!important}.ant-table{font-size:var(--ant-font-size-base)!important}.ant-table-thead>tr>th{padding:var(--ant-padding-md)!important;font-size:var(--ant-font-size-base)!important;font-weight:600!important}.ant-table-tbody>tr>td{padding:var(--ant-padding-md)!important;font-size:var(--ant-font-size-base)!important}.ant-table-pagination{margin-top:var(--ant-padding-md)!important}.ant-modal{font-size:var(--ant-font-size-base)!important}.ant-modal-header{padding:var(--ant-padding-md) var(--ant-padding-lg)!important}.ant-modal-title{font-size:var(--ant-font-size-lg)!important}.ant-modal-body{padding:var(--ant-padding-lg)!important;font-size:var(--ant-font-size-base)!important}.ant-modal-footer{padding:calc(calc(10px * var(--scale-ratio, 1)) * var(--ant-scale-ratio)) var(--ant-padding-md)!important}.ant-drawer{font-size:var(--ant-font-size-base)!important}.ant-drawer-header{padding:var(--ant-padding-md) var(--ant-padding-lg)!important}.ant-drawer-title{font-size:var(--ant-font-size-lg)!important}.ant-drawer-body{padding:var(--ant-padding-lg)!important;font-size:var(--ant-font-size-base)!important}.ant-select{font-size:var(--ant-font-size-base)!important}.ant-select-selector{height:var(--ant-height-base)!important;padding:calc(calc(0px * var(--scale-ratio, 1)) * var(--ant-scale-ratio)) calc(calc(11px * var(--scale-ratio, 1)) * var(--ant-scale-ratio))!important}.ant-select-selection-item{line-height:var(--ant-height-base)!important;font-size:var(--ant-font-size-base)!important}.ant-select-dropdown{font-size:var(--ant-font-size-base)!important;border-radius:var(--ant-border-radius-base)!important;padding:calc(calc(4px * var(--scale-ratio, 1)) * var(--ant-scale-ratio)) 0!important}.ant-select-item{padding:calc(calc(5px * var(--scale-ratio, 1)) * var(--ant-scale-ratio)) calc(calc(12px * var(--scale-ratio, 1)) * var(--ant-scale-ratio))!important;font-size:var(--ant-font-size-base)!important;min-height:var(--ant-height-base)!important;line-height:calc(calc(22px * var(--scale-ratio, 1)) * var(--ant-scale-ratio))!important}.ant-select-item-option-content{font-size:var(--ant-font-size-base)!important}.ant-select-item-option-selected{font-weight:500!important}.ant-picker{height:var(--ant-height-base)!important;padding:calc(calc(4px * var(--scale-ratio, 1)) * var(--ant-scale-ratio)) calc(calc(11px * var(--scale-ratio, 1)) * var(--ant-scale-ratio))!important;font-size:var(--ant-font-size-base)!important}.ant-picker-input>input{font-size:var(--ant-font-size-base)!important}.ant-picker-dropdown,.ant-form-item-label{font-size:var(--ant-font-size-base)!important}.ant-form-item-label>label{font-size:var(--ant-font-size-base)!important;height:var(--ant-height-base)!important}.ant-form-item-explain{font-size:var(--ant-font-size-sm)!important}.ant-tabs-tab{padding:calc(calc(12px * var(--scale-ratio, 1)) * var(--ant-scale-ratio)) var(--ant-padding-md)!important;font-size:var(--ant-font-size-base)!important}.ant-tabs-tab-btn{font-size:var(--ant-font-size-base)!important}.ant-menu-item,.ant-menu-submenu-title{height:calc(calc(40px * var(--scale-ratio, 1)) * var(--ant-scale-ratio))!important;line-height:calc(calc(40px * var(--scale-ratio, 1)) * var(--ant-scale-ratio))!important;font-size:var(--ant-font-size-base)!important;padding:calc(calc(0px * var(--scale-ratio, 1)) * var(--ant-scale-ratio)) calc(calc(20px * var(--scale-ratio, 1)) * var(--ant-scale-ratio))!important}.ant-dropdown-menu{font-size:var(--ant-font-size-base)!important}.ant-dropdown-menu-item{padding:calc(calc(5px * var(--scale-ratio, 1)) * var(--ant-scale-ratio)) calc(calc(12px * var(--scale-ratio, 1)) * var(--ant-scale-ratio))!important;font-size:var(--ant-font-size-base)!important;min-height:var(--ant-height-base)!important}.ant-message{font-size:var(--ant-font-size-base)!important}.ant-message-notice-content{padding:calc(calc(10px * var(--scale-ratio, 1)) * var(--ant-scale-ratio)) var(--ant-padding-md)!important}.ant-notification{font-size:var(--ant-font-size-base)!important}.ant-notification-notice{padding:var(--ant-padding-md) var(--ant-padding-lg)!important}.ant-notification-notice-message{font-size:var(--ant-font-size-base)!important;margin-bottom:var(--ant-padding-xs)!important}.ant-notification-notice-description{font-size:var(--ant-font-size-base)!important}.anticon,.ant-btn .anticon{font-size:calc(calc(14px * var(--scale-ratio, 1)) * var(--ant-scale-ratio))!important}.ant-tag{padding:calc(calc(0px * var(--scale-ratio, 1)) * var(--ant-scale-ratio)) var(--ant-padding-xs)!important;font-size:var(--ant-font-size-sm)!important;line-height:calc(calc(20px * var(--scale-ratio, 1)) * var(--ant-scale-ratio))!important}.ant-badge{font-size:var(--ant-font-size-base)!important}.ant-badge-count{min-width:calc(calc(20px * var(--scale-ratio, 1)) * var(--ant-scale-ratio))!important;height:calc(calc(20px * var(--scale-ratio, 1)) * var(--ant-scale-ratio))!important;line-height:calc(calc(20px * var(--scale-ratio, 1)) * var(--ant-scale-ratio))!important;font-size:var(--ant-font-size-sm)!important}.ant-switch{min-width:calc(calc(44px * var(--scale-ratio, 1)) * var(--ant-scale-ratio))!important;height:calc(calc(22px * var(--scale-ratio, 1)) * var(--ant-scale-ratio))!important}.ant-checkbox,.ant-radio{font-size:var(--ant-font-size-base)!important}.container{max-width:100%;margin:0 auto;padding:0}.grid{display:grid;gap:calc(20px * var(--scale-ratio, 1))}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-1{gap:calc(4px * var(--scale-ratio, 1))}.gap-2{gap:calc(8px * var(--scale-ratio, 1))}.gap-3{gap:calc(12px * var(--scale-ratio, 1))}.gap-4{gap:calc(16px * var(--scale-ratio, 1))}.gap-5{gap:calc(20px * var(--scale-ratio, 1))}.m-0{margin:0}.p-0{padding:0}.mt-1{margin-top:calc(4px * var(--scale-ratio, 1))}.mt-2{margin-top:calc(8px * var(--scale-ratio, 1))}.mt-3{margin-top:calc(12px * var(--scale-ratio, 1))}.mt-4{margin-top:calc(16px * var(--scale-ratio, 1))}.mt-5{margin-top:calc(20px * var(--scale-ratio, 1))}.mb-1{margin-bottom:calc(4px * var(--scale-ratio, 1))}.mb-2{margin-bottom:calc(8px * var(--scale-ratio, 1))}.mb-3{margin-bottom:calc(12px * var(--scale-ratio, 1))}.mb-4{margin-bottom:calc(16px * var(--scale-ratio, 1))}.mb-5{margin-bottom:calc(20px * var(--scale-ratio, 1))}.ml-1{margin-left:calc(4px * var(--scale-ratio, 1))}.ml-2{margin-left:calc(8px * var(--scale-ratio, 1))}.ml-3{margin-left:calc(12px * var(--scale-ratio, 1))}.ml-4{margin-left:calc(16px * var(--scale-ratio, 1))}.ml-5{margin-left:calc(20px * var(--scale-ratio, 1))}.mr-1{margin-right:calc(4px * var(--scale-ratio, 1))}.mr-2{margin-right:calc(8px * var(--scale-ratio, 1))}.mr-3{margin-right:calc(12px * var(--scale-ratio, 1))}.mr-4{margin-right:calc(16px * var(--scale-ratio, 1))}.mr-5{margin-right:calc(20px * var(--scale-ratio, 1))}.app-header{position:fixed;top:0;left:0;right:0;height:calc(60px * var(--scale-ratio, 1));background:var(--bg-primary);border-bottom:calc(1px * var(--scale-ratio, 1)) solid var(--border-primary);box-shadow:0 calc(2px * var(--scale-ratio, 1)) calc(4px * var(--scale-ratio, 1)) var(--shadow-light);z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:0 calc(20px * var(--scale-ratio, 1))}.app-header-left{display:flex;align-items:center;gap:calc(20px * var(--scale-ratio, 1))}.app-header-right{display:flex;align-items:center;gap:calc(16px * var(--scale-ratio, 1))}.app-header-logo{font-size:calc(18px * var(--scale-ratio, 1));font-weight:600;color:var(--primary-color);text-decoration:none}.app-header-nav{display:flex;align-items:center;gap:calc(8px * var(--scale-ratio, 1))}.app-header-nav-item{padding:calc(8px * var(--scale-ratio, 1)) calc(16px * var(--scale-ratio, 1));border-radius:calc(4px * var(--scale-ratio, 1));color:var(--text-secondary);text-decoration:none;font-size:calc(14px * var(--scale-ratio, 1));transition:all .2s ease}.app-header-nav-item:hover{color:var(--primary-color);background:var(--bg-light)}.app-header-nav-item.active{color:var(--primary-color);background:var(--primary-light)}.app-header-user{display:flex;align-items:center;gap:calc(8px * var(--scale-ratio, 1));cursor:pointer;padding:calc(8px * var(--scale-ratio, 1)) calc(12px * var(--scale-ratio, 1));border-radius:calc(4px * var(--scale-ratio, 1));transition:all .2s ease}.app-header-user:hover{background:var(--bg-light)}.app-header-user-avatar{width:calc(32px * var(--scale-ratio, 1));height:calc(32px * var(--scale-ratio, 1));border-radius:50%;background:var(--primary-light);display:flex;align-items:center;justify-content:center;font-size:calc(14px * var(--scale-ratio, 1));color:var(--primary-color)}.app-header-user-name{font-size:calc(14px * var(--scale-ratio, 1));color:var(--text-primary);font-weight:500}.app-header-notification{position:relative;padding:calc(8px * var(--scale-ratio, 1));border-radius:calc(4px * var(--scale-ratio, 1));color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.app-header-notification:hover{color:var(--primary-color);background:var(--bg-light)}.app-header-notification-badge{position:absolute;top:calc(4px * var(--scale-ratio, 1));right:calc(4px * var(--scale-ratio, 1));width:calc(8px * var(--scale-ratio, 1));height:calc(8px * var(--scale-ratio, 1));background:var(--error-color);border-radius:50%}.app-sidebar{position:fixed;top:calc(60px * var(--scale-ratio, 1));left:0;bottom:0;width:calc(240px * var(--scale-ratio, 1));background:var(--bg-primary);border-right:calc(1px * var(--scale-ratio, 1)) solid var(--border-primary);box-shadow:calc(2px * var(--scale-ratio, 1)) 0 calc(4px * var(--scale-ratio, 1)) var(--shadow-light);z-index:999;overflow-y:auto;transition:all .3s ease}.app-sidebar.collapsed{width:calc(60px * var(--scale-ratio, 1))}.app-sidebar-menu{padding:calc(16px * var(--scale-ratio, 1)) 0;list-style:none;margin:0}.app-sidebar-menu-group{margin-bottom:calc(8px * var(--scale-ratio, 1))}.app-sidebar-menu-group-title{padding:calc(8px * var(--scale-ratio, 1)) calc(20px * var(--scale-ratio, 1));font-size:calc(12px * var(--scale-ratio, 1));font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:calc(.5px * var(--scale-ratio, 1))}.app-sidebar.collapsed .app-sidebar-menu-group-title{display:none}.app-sidebar-menu-item{position:relative}.app-sidebar-menu-link{display:flex;align-items:center;gap:calc(12px * var(--scale-ratio, 1));padding:calc(12px * var(--scale-ratio, 1)) calc(20px * var(--scale-ratio, 1));color:var(--text-secondary);text-decoration:none;font-size:calc(14px * var(--scale-ratio, 1));font-weight:500;transition:all .2s ease;border-left:calc(3px * var(--scale-ratio, 1)) solid transparent}.app-sidebar-menu-link:hover{color:var(--primary-color);background:var(--bg-light);border-left-color:var(--primary-light)}.app-sidebar-menu-link.active{color:var(--primary-color);background:var(--primary-light);border-left-color:var(--primary-color)}.app-sidebar-menu-icon{width:calc(20px * var(--scale-ratio, 1));height:calc(20px * var(--scale-ratio, 1));display:flex;align-items:center;justify-content:center;flex-shrink:0}.app-sidebar-menu-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-sidebar.collapsed .app-sidebar-menu-text{display:none}.app-sidebar-submenu{list-style:none;margin:0;padding:0;background:var(--bg-light);overflow:hidden;transition:all .3s ease}.app-sidebar-submenu-item{border-left:calc(3px * var(--scale-ratio, 1)) solid transparent}.app-sidebar-submenu-link{display:flex;align-items:center;gap:calc(12px * var(--scale-ratio, 1));padding:calc(10px * var(--scale-ratio, 1)) calc(20px * var(--scale-ratio, 1)) calc(10px * var(--scale-ratio, 1)) calc(48px * var(--scale-ratio, 1));color:var(--text-secondary);text-decoration:none;font-size:calc(13px * var(--scale-ratio, 1));transition:all .2s ease}.app-sidebar-submenu-link:hover{color:var(--primary-color);background:var(--bg-secondary)}.app-sidebar-submenu-link.active{color:var(--primary-color);background:var(--primary-light);border-left-color:var(--primary-color)}.app-sidebar-toggle{position:absolute;top:50%;right:-calc(12px * var(--scale-ratio, 1));transform:translateY(-50%);width:calc(24px * var(--scale-ratio, 1));height:calc(24px * var(--scale-ratio, 1));background:var(--bg-primary);border:calc(1px * var(--scale-ratio, 1)) solid var(--border-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 calc(2px * var(--scale-ratio, 1)) calc(4px * var(--scale-ratio, 1)) var(--shadow-light);transition:all .2s ease}.app-sidebar-toggle:hover{background:var(--primary-color);color:var(--text-white);border-color:var(--primary-color)}.app-sidebar-footer{position:absolute;bottom:0;left:0;right:0;padding:calc(16px * var(--scale-ratio, 1)) calc(20px * var(--scale-ratio, 1));border-top:calc(1px * var(--scale-ratio, 1)) solid var(--border-light);background:var(--bg-primary)}.app-sidebar.collapsed .app-sidebar-footer{padding:calc(16px * var(--scale-ratio, 1)) calc(10px * var(--scale-ratio, 1))}.app-sidebar-footer-user{display:flex;align-items:center;gap:calc(12px * var(--scale-ratio, 1));padding:calc(8px * var(--scale-ratio, 1)) 0}.app-sidebar-footer-avatar{width:calc(32px * var(--scale-ratio, 1));height:calc(32px * var(--scale-ratio, 1));border-radius:50%;background:var(--primary-light);display:flex;align-items:center;justify-content:center;font-size:calc(14px * var(--scale-ratio, 1));color:var(--primary-color);flex-shrink:0}.app-sidebar-footer-user-info{flex:1;min-width:0}.app-sidebar.collapsed .app-sidebar-footer-user-info{display:none}.app-sidebar-footer-user-name{font-size:calc(14px * var(--scale-ratio, 1));font-weight:600;color:var(--text-primary);margin-bottom:calc(2px * var(--scale-ratio, 1));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-sidebar-footer-user-role{font-size:calc(12px * var(--scale-ratio, 1));color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-container{min-height:100vh;margin:0!important;padding:calc(15px * var(--scale-ratio, 1));position:relative;z-index:1;overflow:visible}.page-header-section{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;margin-bottom:calc(15px * var(--scale-ratio, 1));gap:calc(20px * var(--scale-ratio, 1));height:calc(50px * var(--scale-ratio, 1));width:100%}.page-title{font-size:calc(20px * var(--scale-ratio, 1));font-weight:600;color:#333;margin:0;padding:0;flex-shrink:0;width:calc(140px * var(--scale-ratio, 1));height:calc(23px * var(--scale-ratio, 1));line-height:calc(23px * var(--scale-ratio, 1))}.time-filter-container{display:flex;align-items:center;gap:calc(15px * var(--scale-ratio, 1));margin:0;flex-shrink:0;width:calc(500px * var(--scale-ratio, 1));height:calc(30px * var(--scale-ratio, 1))}.time-filter-buttons{display:flex;background:#f5f5f5;border-radius:calc(6px * var(--scale-ratio, 1));padding:calc(2px * var(--scale-ratio, 1));border:calc(1px * var(--scale-ratio, 1)) solid #e5e7eb}.time-filter-button{padding:calc(4px * var(--scale-ratio, 1)) calc(10px * var(--scale-ratio, 1));border:none;background:transparent;color:#333;font-size:calc(12px * var(--scale-ratio, 1));cursor:pointer;border-radius:calc(4px * var(--scale-ratio, 1));min-width:calc(50px * var(--scale-ratio, 1));text-align:center}.time-filter-button.active{background:#f8b4c4;color:#fff}.date-range-picker{display:flex;align-items:center;gap:calc(6px * var(--scale-ratio, 1))}.date-icon{font-size:calc(14px * var(--scale-ratio, 1))}.date-input{padding:calc(3px * var(--scale-ratio, 1)) calc(6px * var(--scale-ratio, 1));border:calc(1px * var(--scale-ratio, 1)) solid #e5e7eb;border-radius:calc(4px * var(--scale-ratio, 1));font-size:calc(11px * var(--scale-ratio, 1));width:calc(80px * var(--scale-ratio, 1))}.date-separator{font-size:calc(11px * var(--scale-ratio, 1));color:#666}.customer-stats-section{display:flex;gap:calc(6px * var(--scale-ratio, 1));margin:0;flex-shrink:0;width:calc(258px * var(--scale-ratio, 1));height:calc(28px * var(--scale-ratio, 1))}.customer-stat-card{background:#fff;border-radius:calc(4px * var(--scale-ratio, 1));padding:calc(4px * var(--scale-ratio, 1));box-shadow:0 calc(1px * var(--scale-ratio, 1)) calc(3px * var(--scale-ratio, 1)) #00000014;text-align:center;width:calc(60px * var(--scale-ratio, 1));height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.customer-stat-value{font-size:calc(11px * var(--scale-ratio, 1));font-weight:700;color:#333;margin-bottom:0}.customer-stat-label{font-size:calc(8px * var(--scale-ratio, 1));color:#666;line-height:1}.main-content-section{display:grid!important;grid-template-columns:31% 1fr 1fr!important;gap:calc(15px * var(--scale-ratio, 1))!important;width:100%!important;margin-bottom:calc(20px * var(--scale-ratio, 1))}.left-column{display:flex;flex-direction:column;gap:calc(8px * var(--scale-ratio, 1));min-width:0;height:100%}.center-column,.right-column{display:flex!important;flex-direction:column!important;gap:calc(15px * var(--scale-ratio, 1))!important;min-width:0!important;width:100%!important;visibility:visible!important;opacity:1!important;height:100%!important}.performance-card{background:#fff;border-radius:calc(8px * var(--scale-ratio, 1));padding:calc(10px * var(--scale-ratio, 1));box-shadow:0 calc(2px * var(--scale-ratio, 1)) calc(8px * var(--scale-ratio, 1)) #0000001a;width:100%;height:calc(95px * var(--scale-ratio, 1));box-sizing:border-box}.performance-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:calc(6px * var(--scale-ratio, 1))}.performance-header h3{font-size:calc(12px * var(--scale-ratio, 1));font-weight:600;color:#333;margin:0}.performance-value{display:flex;align-items:center;gap:calc(6px * var(--scale-ratio, 1));margin-bottom:calc(2px * var(--scale-ratio, 1))}.performance-value span{font-size:calc(22px * var(--scale-ratio, 1));font-weight:700;color:#333}.performance-change{font-size:calc(10px * var(--scale-ratio, 1));color:#10b981;font-weight:400}.performance-change.positive{color:#10b981}.performance-change.negative{color:#ef4444}.performance-details{font-size:calc(8px * var(--scale-ratio, 1));color:#666}.performance-progress{height:calc(4px * var(--scale-ratio, 1));background:#e5e7eb;border-radius:calc(1px * var(--scale-ratio, 1));overflow:hidden;margin-top:calc(8px * var(--scale-ratio, 1))}.progress-bar{height:100%;background:#f8b4c4;border-radius:calc(1px * var(--scale-ratio, 1))}.appointment-section{background:#fff;border-radius:calc(8px * var(--scale-ratio, 1));padding:calc(20px * var(--scale-ratio, 1));box-shadow:0 calc(2px * var(--scale-ratio, 1)) calc(8px * var(--scale-ratio, 1)) #0000001a;width:100%;flex:1;box-sizing:border-box}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:calc(12px * var(--scale-ratio, 1))}.section-header h3{font-size:calc(16px * var(--scale-ratio, 1));font-weight:600;color:#333;margin:0}.section-header-flex{display:flex;align-items:center;gap:calc(15px * var(--scale-ratio, 1))}.appointment-tabs{display:flex;gap:calc(8px * var(--scale-ratio, 1))}.appointment-tab-button{padding:calc(4px * var(--scale-ratio, 1)) calc(8px * var(--scale-ratio, 1));border:calc(1px * var(--scale-ratio, 1)) solid #e5e7eb;background:transparent;border-radius:calc(4px * var(--scale-ratio, 1));font-size:calc(11px * var(--scale-ratio, 1));cursor:pointer;color:#666}.appointment-tab-button.active{border:calc(1px * var(--scale-ratio, 1)) solid #f8b4c4;background:#f8b4c4;color:#fff}.appointment-summary{font-size:calc(11px * var(--scale-ratio, 1));color:#666;margin-bottom:calc(12px * var(--scale-ratio, 1));padding:calc(8px * var(--scale-ratio, 1)) calc(12px * var(--scale-ratio, 1));background:#f8f9fa;border-radius:calc(4px * var(--scale-ratio, 1));line-height:1.4}.appointment-summary span{margin-right:calc(15px * var(--scale-ratio, 1))}.appointment-list{display:flex;flex-direction:column;gap:calc(6px * var(--scale-ratio, 1));max-height:60%;overflow-y:auto}.appointment-item{display:flex;align-items:center;padding:calc(6px * var(--scale-ratio, 1)) 0;border-bottom:calc(1px * var(--scale-ratio, 1)) solid #f0f0f0;height:calc(32px * var(--scale-ratio, 1))}.appointment-time{font-size:calc(11px * var(--scale-ratio, 1));color:#333;margin-right:calc(15px * var(--scale-ratio, 1))}.appointment-customer{font-size:calc(11px * var(--scale-ratio, 1));color:#333;margin-right:auto}.appointment-staff{font-size:calc(11px * var(--scale-ratio, 1));color:#666}.employee-ranking-section{background:#fff;border-radius:calc(8px * var(--scale-ratio, 1));padding:calc(20px * var(--scale-ratio, 1));box-shadow:0 calc(2px * var(--scale-ratio, 1)) calc(8px * var(--scale-ratio, 1)) #0000001a;width:100%;flex:1;box-sizing:border-box}.employee-list{display:flex;flex-direction:column;gap:calc(8px * var(--scale-ratio, 1));max-height:70%;overflow-y:auto}.employee-item{display:flex;align-items:center;gap:calc(8px * var(--scale-ratio, 1));padding:calc(6px * var(--scale-ratio, 1)) 0;border-bottom:calc(1px * var(--scale-ratio, 1)) solid #f0f0f0;height:calc(32px * var(--scale-ratio, 1))}.employee-rank{font-size:calc(11px * var(--scale-ratio, 1));color:#333;font-weight:500}.employee-avatar{font-size:calc(12px * var(--scale-ratio, 1))}.employee-name{font-size:calc(11px * var(--scale-ratio, 1));color:#333}.employee-role{font-size:calc(10px * var(--scale-ratio, 1));color:#666}.employee-percentage{font-size:calc(11px * var(--scale-ratio, 1));color:#333;font-weight:500}.employee-details{font-size:calc(9px * var(--scale-ratio, 1));color:#666}.customer-performance-section{background:#fff;border-radius:calc(8px * var(--scale-ratio, 1));padding:calc(20px * var(--scale-ratio, 1));box-shadow:0 calc(2px * var(--scale-ratio, 1)) calc(8px * var(--scale-ratio, 1)) #0000001a;width:100%;flex:1;box-sizing:border-box}.customer-categories{display:flex;flex-direction:column;gap:calc(8px * var(--scale-ratio, 1));max-height:70%;overflow-y:auto}.customer-category{display:flex;justify-content:space-between;align-items:center;padding:calc(6px * var(--scale-ratio, 1)) 0;border-bottom:calc(1px * var(--scale-ratio, 1)) solid #f0f0f0;height:calc(28px * var(--scale-ratio, 1))}.category-name{font-size:calc(11px * var(--scale-ratio, 1));color:#333}.category-count{font-size:calc(11px * var(--scale-ratio, 1));color:#333;font-weight:500}.category-percentage{font-size:calc(9px * var(--scale-ratio, 1));color:#666}.points-ranking-section{background:#fff;border-radius:calc(8px * var(--scale-ratio, 1));padding:calc(20px * var(--scale-ratio, 1));box-shadow:0 calc(2px * var(--scale-ratio, 1)) calc(8px * var(--scale-ratio, 1)) #0000001a;width:100%;flex:1;box-sizing:border-box}.points-list{display:flex;flex-direction:column;gap:calc(8px * var(--scale-ratio, 1));max-height:70%;overflow-y:auto}.points-item{display:flex;align-items:center;gap:calc(8px * var(--scale-ratio, 1));padding:calc(6px * var(--scale-ratio, 1)) 0;border-bottom:calc(1px * var(--scale-ratio, 1)) solid #f0f0f0;height:calc(28px * var(--scale-ratio, 1))}.points-rank{font-size:calc(11px * var(--scale-ratio, 1));color:#333;font-weight:500}.points-avatar{font-size:calc(12px * var(--scale-ratio, 1))}.points-name{font-size:calc(11px * var(--scale-ratio, 1));color:#333}.points-role{font-size:calc(10px * var(--scale-ratio, 1));color:#666}.points-score{font-size:calc(11px * var(--scale-ratio, 1));color:#333;font-weight:500}.points-ratio{font-size:calc(9px * var(--scale-ratio, 1));color:#666}.attendance-section{background:#fff;border-radius:calc(8px * var(--scale-ratio, 1));padding:calc(20px * var(--scale-ratio, 1));box-shadow:0 calc(2px * var(--scale-ratio, 1)) calc(8px * var(--scale-ratio, 1)) #0000001a;width:100%;flex:1;box-sizing:border-box}.attendance-summary{font-size:calc(11px * var(--scale-ratio, 1));color:#666;margin-bottom:calc(12px * var(--scale-ratio, 1));padding:calc(8px * var(--scale-ratio, 1)) calc(12px * var(--scale-ratio, 1));background:#f8f9fa;border-radius:calc(4px * var(--scale-ratio, 1))}.attendance-list{display:flex;flex-direction:column;gap:calc(6px * var(--scale-ratio, 1));max-height:60%;overflow-y:auto}.attendance-item{display:flex;align-items:center;gap:calc(8px * var(--scale-ratio, 1));padding:calc(4px * var(--scale-ratio, 1)) 0;border-bottom:calc(1px * var(--scale-ratio, 1)) solid #f0f0f0;height:calc(24px * var(--scale-ratio, 1))}.attendance-avatar{font-size:calc(12px * var(--scale-ratio, 1))}.attendance-name{font-size:calc(11px * var(--scale-ratio, 1));color:#333}.attendance-role,.attendance-status{font-size:calc(10px * var(--scale-ratio, 1));color:#666}.attendance-status.normal{color:#10b981}.attendance-status.late{color:#f59e0b}.attendance-status.leave{color:#ef4444}.team-contribution-section{background:#fff;border-radius:calc(8px * var(--scale-ratio, 1));padding:calc(20px * var(--scale-ratio, 1));box-shadow:0 calc(2px * var(--scale-ratio, 1)) calc(8px * var(--scale-ratio, 1)) #0000001a;width:100%;margin-top:calc(20px * var(--scale-ratio, 1));box-sizing:border-box}.team-contribution-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:calc(15px * var(--scale-ratio, 1))}.team-contribution-header h3{font-size:calc(16px * var(--scale-ratio, 1));font-weight:600;color:#333;margin:0}.team-contribution-buttons{display:flex;align-items:center;gap:calc(8px * var(--scale-ratio, 1))}.team-contribution-button{padding:calc(4px * var(--scale-ratio, 1)) calc(8px * var(--scale-ratio, 1));border:calc(1px * var(--scale-ratio, 1)) solid #e5e7eb;background:transparent;border-radius:calc(4px * var(--scale-ratio, 1));font-size:calc(12px * var(--scale-ratio, 1));cursor:pointer;color:#666}.team-contribution-button.active{border:calc(1px * var(--scale-ratio, 1)) solid #f8b4c4;background:#f8b4c4;color:#fff}.team-contribution-content{display:flex;gap:calc(20px * var(--scale-ratio, 1))}.team-members-list{width:15%;display:flex;flex-direction:column;gap:calc(6px * var(--scale-ratio, 1));height:100%}.team-member-item{padding:calc(8px * var(--scale-ratio, 1)) calc(12px * var(--scale-ratio, 1));background:transparent;border-radius:calc(4px * var(--scale-ratio, 1));font-size:calc(11px * var(--scale-ratio, 1));color:#666;height:calc(28px * var(--scale-ratio, 1));display:flex;align-items:center}.team-member-item.active{background:#e3f2fd;color:#333;font-weight:500}.team-member-item.placeholder{color:transparent}.monthly-activities{width:85%;display:flex;flex-direction:column;gap:calc(12px * var(--scale-ratio, 1))}.activity-card{background:#f8f9fa;border-radius:calc(6px * var(--scale-ratio, 1));padding:calc(12px * var(--scale-ratio, 1))}.activity-title{font-size:calc(13px * var(--scale-ratio, 1));font-weight:600;color:#333;margin:0 0 calc(8px * var(--scale-ratio, 1)) 0}.activity-stats{display:flex;justify-content:space-between;align-items:center;margin-bottom:calc(6px * var(--scale-ratio, 1))}.activity-stat{font-size:calc(11px * var(--scale-ratio, 1));color:#333}.activity-progress{height:calc(4px * var(--scale-ratio, 1));background:#e5e7eb;border-radius:calc(2px * var(--scale-ratio, 1));overflow:hidden;margin-bottom:calc(8px * var(--scale-ratio, 1))}.activity-progress-bar{height:100%;background:#f8b4c4;border-radius:calc(2px * var(--scale-ratio, 1))}.activity-prices{display:flex;flex-wrap:wrap;gap:calc(8px * var(--scale-ratio, 1))}.activity-price{font-size:calc(9px * var(--scale-ratio, 1));color:#666}.view-all-link,.expand-link{font-size:calc(10px * var(--scale-ratio, 1));color:#666;text-decoration:none}.divider-line{height:calc(1px * var(--scale-ratio, 1));background:#e5e7eb;margin-bottom:calc(15px * var(--scale-ratio, 1));border-radius:calc(1px * var(--scale-ratio, 1))}.appointment-list::-webkit-scrollbar,.employee-list::-webkit-scrollbar,.customer-categories::-webkit-scrollbar,.points-list::-webkit-scrollbar,.attendance-list::-webkit-scrollbar{width:calc(4px * var(--scale-ratio, 1))}.appointment-list::-webkit-scrollbar-track,.employee-list::-webkit-scrollbar-track,.customer-categories::-webkit-scrollbar-track,.points-list::-webkit-scrollbar-track,.attendance-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:calc(2px * var(--scale-ratio, 1))}.appointment-list::-webkit-scrollbar-thumb,.employee-list::-webkit-scrollbar-thumb,.customer-categories::-webkit-scrollbar-thumb,.points-list::-webkit-scrollbar-thumb,.attendance-list::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:calc(2px * var(--scale-ratio, 1))}.customers-container{min-height:100vh;padding:calc(20px * var(--scale-ratio, 1));box-sizing:border-box}.nav-card,.search-card{background-color:#fff;border-radius:calc(8px * var(--scale-ratio, 1));box-shadow:0 calc(2px * var(--scale-ratio, 1)) calc(8px * var(--scale-ratio, 1)) #0000001a;padding:calc(20px * var(--scale-ratio, 1));margin-bottom:calc(15px * var(--scale-ratio, 1))}.list-card{background-color:#fff;border-radius:calc(8px * var(--scale-ratio, 1));box-shadow:0 calc(2px * var(--scale-ratio, 1)) calc(8px * var(--scale-ratio, 1)) #0000001a;padding:calc(20px * var(--scale-ratio, 1));margin-bottom:calc(20px * var(--scale-ratio, 1))}.tabs-section{margin-bottom:0}.tabs-container{display:flex;gap:0;border-bottom:calc(1px * var(--scale-ratio, 1)) solid #e5e7eb}.tab-button{padding:calc(12px * var(--scale-ratio, 1)) calc(24px * var(--scale-ratio, 1));border:none;background:transparent;font-size:calc(14px * var(--scale-ratio, 1));color:#333;cursor:pointer;border-bottom:calc(2px * var(--scale-ratio, 1)) solid transparent;transition:all .2s ease}.tab-button.active{color:#f8b4c4;border-bottom-color:#f8b4c4}.tab-button:hover{color:#f8b4c4}.divider-line{height:calc(1px * var(--scale-ratio, 1));background:#e5e7eb;margin:calc(15px * var(--scale-ratio, 1)) 0}.operations-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:calc(20px * var(--scale-ratio, 1));padding:0}.left-operations{display:flex;gap:calc(12px * var(--scale-ratio, 1))}.operation-button{padding:calc(6px * var(--scale-ratio, 1)) calc(12px * var(--scale-ratio, 1));border:calc(1px * var(--scale-ratio, 1)) solid #e5e7eb;background:#fff;border-radius:calc(4px * var(--scale-ratio, 1));font-size:calc(12px * var(--scale-ratio, 1));color:#333;cursor:pointer;transition:all .2s ease}.operation-button:hover{background:#f8f9fa;border-color:#d1d5db}.search-info{flex:1;text-align:center}.search-result{font-size:calc(13px * var(--scale-ratio, 1));color:#333}.search-result strong{color:#333;font-weight:600}.search-section{display:flex;align-items:center;justify-content:center;width:100%}.search-box{display:flex;align-items:center;background:#fff;border:calc(1px * var(--scale-ratio, 1)) solid #e5e7eb;border-radius:calc(6px * var(--scale-ratio, 1));padding:calc(8px * var(--scale-ratio, 1)) calc(12px * var(--scale-ratio, 1));gap:calc(8px * var(--scale-ratio, 1))}.search-icon{font-size:calc(14px * var(--scale-ratio, 1));color:#999}.search-input{border:none;outline:none;font-size:calc(13px * var(--scale-ratio, 1));color:#333;width:calc(120px * var(--scale-ratio, 1))}.search-input::placeholder{color:#999}.customers-table-section{background:transparent;border-radius:calc(8px * var(--scale-ratio, 1));overflow:hidden;margin-bottom:0}.table-header{display:grid;grid-template-columns:1.5fr 1.5fr 1fr 1fr 1fr 1fr;background:#fff;border-bottom:calc(1px * var(--scale-ratio, 1)) solid #e5e7eb;padding:calc(12px * var(--scale-ratio, 1)) calc(16px * var(--scale-ratio, 1))}.table-cell{font-size:calc(13px * var(--scale-ratio, 1));font-weight:600;color:#000;padding:calc(8px * var(--scale-ratio, 1))}.table-body{max-height:calc(400px * var(--scale-ratio, 1));overflow-y:auto}.table-row{display:grid;border-bottom:calc(1px * var(--scale-ratio, 1)) solid #f0f0f0;//padding: calc(12px * var(--scale-ratio, 1)) calc(16px * var(--scale-ratio, 1));transition:background-color .2s ease}.table-row:hover{background:#f8f9fa}.table-row:last-child{border-bottom:none}.customer-info{display:flex;align-items:center;gap:calc(8px * var(--scale-ratio, 1))}.customer-checkbox{width:calc(16px * var(--scale-ratio, 1));height:calc(16px * var(--scale-ratio, 1));cursor:pointer}.customer-avatar{width:calc(32px * var(--scale-ratio, 1));height:calc(32px * var(--scale-ratio, 1));background:#e5e7eb;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:calc(16px * var(--scale-ratio, 1));color:#666}.customer-details{display:flex;flex-direction:column;gap:calc(2px * var(--scale-ratio, 1))}.customer-name{font-size:calc(14px * var(--scale-ratio, 1));font-weight:500;color:#000}.customer-tag{display:inline-block;padding:calc(2px * var(--scale-ratio, 1)) calc(6px * var(--scale-ratio, 1));background:#fef3c7;color:#d97706;border-radius:calc(3px * var(--scale-ratio, 1));font-size:calc(10px * var(--scale-ratio, 1));font-weight:500;width:fit-content}.customer-phone{font-size:calc(11px * var(--scale-ratio, 1));color:#333}.service-info{display:flex;flex-direction:column;gap:calc(4px * var(--scale-ratio, 1))}.store-name,.beautician,.archive-time{font-size:calc(12px * var(--scale-ratio, 1));color:#333;line-height:1.4}.account-info{display:flex;flex-direction:column;gap:calc(4px * var(--scale-ratio, 1))}.stored-value,.project-cards,.gift-amount{font-size:calc(12px * var(--scale-ratio, 1));color:#333;line-height:1.4}.visits-info{display:flex;flex-direction:column;gap:calc(4px * var(--scale-ratio, 1))}.monthly-visits,.yearly-visits,.last-visit{font-size:calc(12px * var(--scale-ratio, 1));color:#333;line-height:1.4}.consumption-info{display:flex;flex-direction:column;gap:calc(4px * var(--scale-ratio, 1))}.monthly-consumption,.yearly-consumption,.total-consumption{font-size:calc(12px * var(--scale-ratio, 1));color:#333;line-height:1.4}.cash-info{display:flex;flex-direction:column;gap:calc(4px * var(--scale-ratio, 1))}.monthly-cash,.yearly-cash,.last-cash{font-size:calc(12px * var(--scale-ratio, 1));color:#333;line-height:1.4}.table-body::-webkit-scrollbar{width:calc(6px * var(--scale-ratio, 1))}.table-body::-webkit-scrollbar-track{background:#f1f1f1;border-radius:calc(3px * var(--scale-ratio, 1))}.table-body::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:calc(3px * var(--scale-ratio, 1))}.table-body::-webkit-scrollbar-thumb:hover{background:#a8a8a8}*{box-sizing:border-box}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-secondary);color:var(--text-primary)}a{color:var(--primary-color);text-decoration:none}a:hover{color:var(--primary-hover)}button{cursor:pointer;border:none;outline:none;background:none;font-family:inherit}input,textarea,select{font-family:inherit;border:calc(1px * var(--scale-ratio, 1)) solid var(--border-primary);border-radius:calc(4px * var(--scale-ratio, 1));padding:calc(8px * var(--scale-ratio, 1)) calc(12px * var(--scale-ratio, 1));outline:none}input:focus,textarea:focus,select:focus{border-color:var(--primary-color);box-shadow:0 0 0 calc(2px * var(--scale-ratio, 1)) var(--primary-light)}::-webkit-scrollbar{width:calc(6px * var(--scale-ratio, 1));height:calc(6px * var(--scale-ratio, 1))}::-webkit-scrollbar-track{background:var(--bg-light)}::-webkit-scrollbar-thumb{background:var(--border-dark);border-radius:calc(3px * var(--scale-ratio, 1))}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.bs-toast-container[data-v-1dbc02c7]{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;z-index:9999;pointer-events:none}.bs-toast[data-v-1dbc02c7]{border-radius:calc(8px * var(--scale-ratio, 1));padding:calc(16px * var(--scale-ratio, 1)) calc(24px * var(--scale-ratio, 1));min-width:calc(300px * var(--scale-ratio, 1));max-width:calc(500px * var(--scale-ratio, 1));pointer-events:auto;box-shadow:0 calc(4px * var(--scale-ratio, 1)) calc(16px * var(--scale-ratio, 1)) #0000004d;text-align:center;background:#333;color:#fff;cursor:pointer;transition:opacity .2s ease}.bs-toast[data-v-1dbc02c7]:hover{opacity:.95}.bs-toast-title[data-v-1dbc02c7]{font-size:calc(16px * var(--scale-ratio, 1));font-weight:500;line-height:1.5}.bs-toast-message[data-v-1dbc02c7]{font-size:calc(14px * var(--scale-ratio, 1));margin-top:calc(4px * var(--scale-ratio, 1));opacity:.9;line-height:1.4}.toast-enter-active[data-v-1dbc02c7],.toast-leave-active[data-v-1dbc02c7]{transition:all .3s ease}.toast-enter-from[data-v-1dbc02c7],.toast-leave-to[data-v-1dbc02c7]{opacity:0;transform:translateY(-calc(20px * var(--scale-ratio, 1))) scale(.95)}#app{font-family:PingFang SC,Helvetica Neue,Helvetica,Hiragino Sans GB,Microsoft YaHei,微软雅黑,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100vh}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%}.pagination-container[data-v-0eea8b61]{display:flex;align-items:center;//margin-top: calc(20px * var(--scale-ratio, 1))}.pagination-container.pagination-left[data-v-0eea8b61]{justify-content:flex-start}.pagination-container.pagination-center[data-v-0eea8b61]{justify-content:center}.pagination-container.pagination-right[data-v-0eea8b61]{justify-content:flex-end}.pagination[data-v-0eea8b61]{display:flex;align-items:center;gap:calc(6px * var(--scale-ratio, 1))}.page-btn[data-v-0eea8b61]{width:calc(32px * var(--scale-ratio, 1));height:calc(32px * var(--scale-ratio, 1));border:none;background:#e0e0e0;border-radius:calc(8px * var(--scale-ratio, 1));display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;box-shadow:0 calc(2px * var(--scale-ratio, 1)) calc(4px * var(--scale-ratio, 1)) #0000001a}.page-btn[data-v-0eea8b61]:hover:not(:disabled){background:#e0e0e0;box-shadow:0 calc(4px * var(--scale-ratio, 1)) calc(8px * var(--scale-ratio, 1)) #00000026}.page-btn[data-v-0eea8b61]:disabled{background:#e0e0e0;cursor:not-allowed;opacity:.5;box-shadow:0 calc(1px * var(--scale-ratio, 1)) calc(2px * var(--scale-ratio, 1)) #0000000d}.arrow-icon[data-v-0eea8b61]{font-size:calc(18px * var(--scale-ratio, 1));font-weight:700;color:#666;line-height:1}.page-numbers[data-v-0eea8b61]{display:flex;gap:calc(6px * var(--scale-ratio, 1))}.page-number[data-v-0eea8b61]{width:calc(32px * var(--scale-ratio, 1));height:calc(32px * var(--scale-ratio, 1));display:flex;align-items:center;justify-content:center;background:#f5f5f5;border-radius:calc(8px * var(--scale-ratio, 1));font-size:calc(14px * var(--scale-ratio, 1));font-weight:500;color:#666;cursor:pointer;transition:all .3s ease;box-shadow:0 calc(2px * var(--scale-ratio, 1)) calc(4px * var(--scale-ratio, 1)) #0000001a}.page-number.active[data-v-0eea8b61]{background:#cf0015;color:#fff;box-shadow:0 calc(4px * var(--scale-ratio, 1)) calc(8px * var(--scale-ratio, 1)) #cf00154d}.page-number[data-v-0eea8b61]:hover:not(.active){background:#e0e0e0;box-shadow:0 calc(4px * var(--scale-ratio, 1)) calc(8px * var(--scale-ratio, 1)) #00000026}.page-number.ellipsis[data-v-0eea8b61]{background:transparent;box-shadow:none;cursor:default;color:#999}.page-number.ellipsis[data-v-0eea8b61]:hover{background:transparent;box-shadow:none}.pagination-info[data-v-0eea8b61]{margin-right:calc(16px * var(--scale-ratio, 1));font-size:calc(14px * var(--scale-ratio, 1));color:#666}.bs-data-table-container[data-v-af86e740]{width:100%;overflow:hidden}.bs-data-table-wrapper[data-v-af86e740]{width:100%}.table-container[data-v-af86e740]{width:100%;overflow:hidden}.table-scroll-wrapper[data-v-af86e740]{width:100%;overflow-x:auto;overflow-y:auto}.bs-data-table[data-v-af86e740]{width:100%;border-collapse:separate;border-spacing:0;font-size:calc(14px * var(--scale-ratio, 1));min-width:auto}.bs-data-table thead tr[data-v-af86e740]{border-radius:calc(10px * var(--scale-ratio, 1));overflow:hidden}.bs-data-table thead th[data-v-af86e740]{background:#fef2f2;padding:calc(18px * var(--scale-ratio, 1)) calc(16px * var(--scale-ratio, 1));font-weight:500;font-size:calc(14px * var(--scale-ratio, 1));color:#333;border-radius:0;text-align:center;position:relative}.bs-data-table thead th[data-v-af86e740]:first-child{text-align:left;border-top-left-radius:calc(10px * var(--scale-ratio, 1));border-bottom-left-radius:0}.bs-data-table thead th[data-v-af86e740]:last-child{border-top-right-radius:calc(10px * var(--scale-ratio, 1));border-bottom-right-radius:0}.bs-data-table td[data-v-af86e740]{padding:calc(18px * var(--scale-ratio, 1)) calc(16px * var(--scale-ratio, 1));color:var(--text-primary);text-align:center;position:relative}.bs-data-table td.first-column[data-v-af86e740]{text-align:left}.bs-data-table tbody tr[data-v-af86e740]:nth-child(odd){background:#fff}.bs-data-table tbody tr[data-v-af86e740]:nth-child(2n){background:#fbfbfb}.bs-data-table thead th.fixed-left[data-v-af86e740],.bs-data-table tbody td.fixed-left[data-v-af86e740]{position:sticky;left:0;z-index:10;background:#fef2f2}.bs-data-table tbody td.fixed-left[data-v-af86e740]{background:inherit}.bs-data-table thead th.fixed-right[data-v-af86e740],.bs-data-table tbody td.fixed-right[data-v-af86e740]{position:sticky;right:0;z-index:10;background:#fef2f2}.bs-data-table tbody td.fixed-right[data-v-af86e740]{background:#f5f5f5}.bs-data-table thead th[data-v-af86e740]:first-child,.bs-data-table tbody td[data-v-af86e740]:first-child{position:sticky;left:0;z-index:10;background:#fef2f2}.bs-data-table tbody td[data-v-af86e740]:first-child{background:inherit}.bs-data-table thead th[data-v-af86e740]:last-child{position:sticky;right:0;z-index:10;background:#fef2f2}.bs-data-table tbody td[data-v-af86e740]:last-child{position:sticky;right:0;z-index:10;background:inherit}.bs-data-table thead th[data-v-af86e740]:not(:first-child):not(:last-child),.bs-data-table tbody td[data-v-af86e740]:not(:first-child):not(:last-child){position:relative;z-index:1}.table-scroll-wrapper.has-scroll .bs-data-table thead th[data-v-af86e740]:first-child,.table-scroll-wrapper.has-scroll .bs-data-table tbody td[data-v-af86e740]:first-child,.table-scroll-wrapper.has-scroll .bs-data-table thead th.first-column[data-v-af86e740],.table-scroll-wrapper.has-scroll .bs-data-table tbody td.first-column[data-v-af86e740]{box-shadow:calc(2px * var(--scale-ratio, 1)) 0 calc(4px * var(--scale-ratio, 1)) #0000001a}.table-scroll-wrapper.has-scroll .bs-data-table thead th[data-v-af86e740]:last-child,.table-scroll-wrapper.has-scroll .bs-data-table tbody td[data-v-af86e740]:last-child,.table-scroll-wrapper.has-scroll .bs-data-table thead th.last-column[data-v-af86e740],.table-scroll-wrapper.has-scroll .bs-data-table tbody td.last-column[data-v-af86e740]{box-shadow:-calc(2px * var(--scale-ratio, 1)) 0 calc(4px * var(--scale-ratio, 1)) #0000001a}
