:root{--primary:#667eea;--primary-light:#8b9cf4;--primary-dark:#5a6fd6;--secondary:#764ba2;--bg:#f0f2f5;--card:#ffffff;--text:#303133;--text-secondary:#606266;--muted:#909399;--border:#e4e7ed;--success:#67C23A;--warning:#E6A23C;--danger:#F56C6C;--info:#909399}html,body,#app{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}.app-container{min-height:100%;padding:0}.main-header{display:flex;align-items:center;justify-content:space-between;background:var(--card);padding:16px 24px;box-shadow:0 2px 12px #00000014;position:sticky;top:0;z-index:100}.main-header .brand-logo{display:flex;align-items:center}.main-header .main-title{margin:0;font-size:20px;font-weight:700;background:linear-gradient(135deg,var(--primary),var(--secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-left{display:flex;align-items:center;gap:12px}.header-right{display:flex;align-items:center;gap:16px}.user-dropdown{display:flex;align-items:center;gap:10px;cursor:pointer;padding:8px 16px;border-radius:10px;transition:all .3s ease}.user-dropdown:hover{background:#667eea14}.username{font-weight:600;color:var(--text)}.dropdown-arrow{margin-left:4px;color:var(--muted);transition:transform .3s}.user-dropdown:hover .dropdown-arrow{transform:rotate(180deg)}.logout-reminder{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;padding:10px 20px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px}.logout-reminder .el-icon{font-size:18px}.main-container{padding:0}.main-content{padding:20px 24px}.add-record-card{margin-bottom:20px;border-radius:12px}.add-record-card .el-card__header{padding:16px 20px;background:linear-gradient(135deg,#667eea0d,#764ba208)}.card-header{display:flex;align-items:center;justify-content:space-between}.card-title{display:flex;align-items:center;gap:8px;font-weight:600;font-size:16px;color:var(--text)}.card-title .el-icon{color:var(--primary);font-size:18px}.records-section{margin-top:20px}.filter-bar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:16px}.stats-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;background:var(--card);border-radius:12px 12px 0 0;margin-bottom:0;box-shadow:0 2px 8px #0000000a}.stats-header .stats-title{margin:0;font-size:16px;font-weight:600;color:var(--text)}.stats-header .stats-actions{display:flex;gap:8px}.main-container .summary-section{background:var(--card);border-radius:0 0 12px 12px;padding:16px 20px;margin-bottom:20px;box-shadow:0 2px 8px #0000000a}.main-container .summary-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:12px}.main-container .summary-cards-5{grid-template-columns:repeat(5,1fr)}@media (max-width:1400px){.main-container .summary-cards-5{grid-template-columns:repeat(5,1fr)}}@media (max-width:1200px){.main-container .summary-cards,.main-container .summary-cards-5{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.main-container .summary-cards,.main-container .summary-cards-5{grid-template-columns:repeat(2,1fr)}}.main-container .summary-card{background:linear-gradient(135deg,#667eea0d,#764ba205);border-radius:12px;padding:16px;transition:all .3s ease}.main-container .summary-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000000f}.main-container .summary-card .card-title{font-size:13px;color:var(--muted);margin-bottom:6px;display:flex;align-items:center;gap:6px}.summary-card .card-icon{width:16px;height:16px;flex-shrink:0;opacity:.7}.main-container .summary-card .card-value{font-size:26px;font-weight:700;color:var(--text);line-height:1.2}.main-container .summary-card .card-value-small{font-size:14px;font-weight:600;color:var(--text);line-height:1.4}.main-container .summary-card .card-sub{font-size:12px;color:var(--text-secondary);margin-top:6px}.main-container .summary-card .card-sub .workday{color:var(--primary);margin-right:8px}.main-container .summary-card .card-sub .holiday{color:var(--warning)}.main-container .summary-card-info{background:linear-gradient(135deg,#677eea14,#764ba20a)}.main-container .summary-card .pay-value{color:var(--primary)}.main-container .summary-footer{margin-top:12px;padding-top:12px;border-top:1px dashed rgba(102,126,234,.2);font-size:12px;color:var(--muted);text-align:center}.calculator-content{padding:8px 0}.calculator-row{margin-bottom:16px}.calculator-row label{display:block;font-size:14px;font-weight:500;color:var(--text);margin-bottom:8px}.calculator-input{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.calculator-input .el-input-number{width:120px}.calculator-input .unit{font-size:13px;color:var(--muted)}.calculator-input .rate{font-size:13px;color:var(--primary);font-weight:500}.calculator-input .result{font-size:14px;color:var(--success);font-weight:600;margin-left:auto}.calculator-total{display:flex;justify-content:space-between;align-items:center;padding:16px;background:linear-gradient(135deg,var(--primary),#764ba2);border-radius:10px;margin:20px 0 16px}.calculator-total .total-label{font-size:16px;color:#ffffffe6}.calculator-total .total-value{font-size:28px;font-weight:700;color:#fff}.calculator-info{font-size:12px;color:var(--muted);text-align:center;line-height:1.8}.stats-row{margin-bottom:20px;margin-left:0!important;margin-right:0!important;background:var(--card);border-radius:0 0 12px 12px;padding:12px;box-shadow:0 2px 8px #0000000a;overflow:hidden}.stats-row .el-col{margin-bottom:8px;padding-left:8px!important;padding-right:8px!important}.stat-card{display:flex;align-items:center;gap:12px;padding:16px;background:linear-gradient(135deg,#667eea0d,#764ba208);border-radius:10px;transition:all .3s ease;height:100%;border:none}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014;background:linear-gradient(135deg,#667eea1a,#764ba20f)}.stat-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-content{display:flex;flex-direction:column;gap:2px;min-width:0}.stat-label{color:var(--muted);font-size:12px;font-weight:500;white-space:nowrap}.stat-value{font-size:20px;font-weight:700;color:var(--text);line-height:1.2}.stat-card-total .stat-icon{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.stat-card-workday .stat-icon{background:linear-gradient(135deg,#67c23a,#85ce61);color:#fff}.stat-card-holiday .stat-icon{background:linear-gradient(135deg,#e6a23c,#f0c78a);color:#fff}.stat-card-meals .stat-icon{background:linear-gradient(135deg,#909399,#b4b4b4);color:#fff}.stat-card-workday-meal .stat-icon{background:linear-gradient(135deg,#409eff,#79bbff);color:#fff}.stat-card-holiday-meal .stat-icon{background:linear-gradient(135deg,#f56c6c,#f89898);color:#fff}.stat-card-pay-total .stat-icon{background:linear-gradient(135deg,#f5af19,#f12711);color:#fff}.stat-card-pay-workday .stat-icon{background:linear-gradient(135deg,#11998e,#38ef7d);color:#fff}.stat-card-pay-restday .stat-icon{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff}.stat-card-pay-holiday .stat-icon{background:linear-gradient(135deg,#fa709a,#fee140);color:#fff}.stat-card-pay-info{background:linear-gradient(135deg,#677eea0d,#764ba208);border:1px dashed rgba(102,126,234,.3)}.stat-card-pay-info .stat-content{flex:1}.el-card.stat-card-total{border:none;border-left:4px solid var(--primary);background:linear-gradient(135deg,#667eea14,#764ba20d)}.el-card.stat-card-workday{border:none;border-left:4px solid var(--success);background:linear-gradient(135deg,#67c23a14,#67c23a08)}.el-card.stat-card-holiday{border:none;border-left:4px solid var(--warning);background:linear-gradient(135deg,#e6a23c14,#e6a23c08)}.el-card.stat-card-meals{border:none;border-left:4px solid #909399;background:linear-gradient(135deg,#90939914,#90939908)}.filter-bar{background:var(--card);padding:16px;border-radius:12px;box-shadow:0 2px 8px #0000000a}.filter-bar .el-input,.filter-bar .el-select{--el-input-height:36px}.filter-bar .el-button{height:36px;border-radius:8px}.filter-bar .el-button--primary{background:linear-gradient(135deg,var(--primary),var(--secondary));border:none}.filter-bar .el-button--success{background:var(--success);border-color:var(--success)}.filter-bar .el-button--danger{background:var(--danger);border-color:var(--danger)}.filter-bar .el-divider{opacity:.4;margin:0 8px}.filter-bar .el-input__wrapper,.filter-bar .el-select .el-select__wrapper{border-radius:8px}.el-table{background:var(--card);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000a}.el-table th.el-table__cell{background:#fafbfc!important;color:var(--text-secondary);font-weight:600;font-size:13px}.el-table .el-table__body tr:hover>td{background:#667eea0a!important}.el-table .el-table__body tr:nth-child(2n){background:#fafbfc}.el-table .el-table__body tr:nth-child(2n):hover>td{background:#667eea0a!important}.el-card{border-radius:12px;border:none;box-shadow:0 2px 12px #0000000f}.el-card__header{font-weight:600;border-bottom:1px solid var(--border);padding:16px 20px}.el-card__body{padding:20px}.el-dialog{border-radius:16px;overflow:hidden}.el-dialog__header{padding:20px 24px 16px}.el-dialog__body{padding:0 24px 24px}.el-dialog__footer{padding:16px 24px 20px;border-top:1px solid var(--border)}.el-message{border-radius:8px}.el-message-box{border-radius:12px}.el-month-table td.has-records .cell{position:relative}.el-month-table td.has-records .cell:after{content:"";position:absolute;right:8px;bottom:6px;width:6px;height:6px;border-radius:50%;background-color:var(--primary);box-shadow:0 0 0 2px #fff}.el-month-table td.has-records{position:relative}.el-month-table td.has-records:after{content:"";position:absolute;right:6px;bottom:6px;width:6px;height:6px;border-radius:50%;background-color:var(--primary);box-shadow:0 0 0 2px #fff}.el-tag{border-radius:6px;font-weight:500}.el-button{border-radius:8px;font-weight:500}.el-button--primary{background:linear-gradient(135deg,var(--primary),var(--secondary));border:none}.el-button--primary:hover{background:linear-gradient(135deg,var(--primary-light),var(--primary))}.records-section{background:var(--card);border-radius:12px;padding:20px;box-shadow:0 2px 12px #0000000f}.fade-enter-active,.fade-leave-active{transition:opacity .3s ease}.fade-enter-from,.fade-leave-to{opacity:0}.slide-up-enter-active,.slide-up-leave-active{transition:all .3s ease}.slide-up-enter-from,.slide-up-leave-to{opacity:0;transform:translateY(20px)}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:4px}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.el-button.is-loading{opacity:.8;pointer-events:none}@keyframes success-pulse{0%{box-shadow:0 0 #67c23a66}70%{box-shadow:0 0 0 10px #67c23a00}to{box-shadow:0 0 #67c23a00}}.success-pulse{animation:success-pulse .6s ease-out}@keyframes number-pop{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.number-pop{animation:number-pop .3s ease-out}.el-message{border-radius:8px!important;box-shadow:0 4px 20px #00000026!important}.el-message--success{background:linear-gradient(135deg,#f0f9eb,#e1f3d8)!important;border-color:#c2e7b0!important}.el-message--error{background:linear-gradient(135deg,#fef0f0,#fde2e2)!important;border-color:#fab6b6!important}.el-message-box{border-radius:16px!important;overflow:hidden}.el-message-box__header{padding:20px 24px 12px!important}.el-message-box__content{padding:12px 24px!important}.el-message-box__btns{padding:12px 24px 20px!important}.el-message-box__btns .el-button{border-radius:8px}.el-message-box__btns .el-button--primary{background:linear-gradient(135deg,var(--primary),var(--secondary));border:none}.el-table .el-table__body tr{transition:all .2s ease}.el-card{transition:all .3s ease}.el-card:hover{box-shadow:0 4px 20px #0000001a}.el-card[class*=stat-card]:hover{transform:translateY(-2px)}.el-empty{padding:40px 0}.el-empty__description{color:var(--muted)}.el-tag{transition:all .2s ease}.el-input__wrapper.is-focus,.el-select .el-select__wrapper.is-focus{box-shadow:0 0 0 2px #667eea33,0 0 0 1px var(--primary) inset!important}@media (max-width: 1024px){.main-header{padding:12px 16px}.main-content{padding:16px}.stats-row .el-col{margin-bottom:12px}}@media (max-width: 768px){.main-header{padding:12px 16px;flex-wrap:wrap;gap:12px}.main-header h1{font-size:16px}.header-right{gap:8px}.user-dropdown{padding:6px 10px}.main-content{padding:12px}.stats-row{margin-bottom:12px}.stats-row .el-col{margin-bottom:8px}.stat-value{font-size:22px}.stat-label{font-size:12px}.filter-bar{flex-direction:column;gap:12px;padding:12px}.filter-bar .el-input,.filter-bar .el-select{width:100%!important}.filter-bar .el-button{width:100%}.el-table{font-size:13px}.el-table .el-table__cell{padding:8px 4px}.el-table th.el-table__cell{font-size:12px}.el-button{padding:8px 12px}.el-button--small{padding:6px 10px}.el-card{border-radius:10px}.el-card__header{padding:12px 16px}.el-card__body{padding:12px}.el-dialog{width:90%!important;max-width:400px}.el-message-box{width:90%!important;max-width:350px}.el-form-item{margin-bottom:16px}.el-form-item__label{font-size:13px}}@media (max-width: 480px){.main-header h1{font-size:14px}.stat-value{font-size:20px}.el-table{font-size:12px}.el-table .hide-on-mobile,.el-table .el-button.is-link span{display:none}.el-table .el-button.is-link .el-icon{margin:0}}@media (hover: none) and (pointer: coarse){.el-button{min-height:44px;min-width:44px}.el-input__wrapper,.el-select .el-select__wrapper{min-height:44px}.el-card:hover{transform:none;box-shadow:0 2px 12px #0000000f}.el-card[class*=stat-card]:hover{transform:none}}.not-found-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2)}.not-found-content{text-align:center;padding:60px;background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:500px}.error-code{font-size:120px;font-weight:900;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;margin-bottom:10px}.error-title{font-size:28px;color:#303133;margin:0 0 16px}.error-message{color:#909399;font-size:16px;margin-bottom:8px}.countdown-text{color:#e6a23c;font-size:14px;margin-bottom:30px}.action-buttons{display:flex;gap:16px;justify-content:center}.action-buttons .el-button{min-width:120px}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;position:relative;overflow:hidden}.login-bg{position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#667eea,#764ba2,#f64f59);background-size:400% 400%;animation:gradientMove 15s ease infinite;z-index:-1}@keyframes gradientMove{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.bg-shape{position:absolute;border-radius:50%;background:#ffffff14;animation:shapeFloat 20s ease-in-out infinite}.shape-1{width:400px;height:400px;top:-100px;right:-100px;animation-delay:0s}.shape-2{width:300px;height:300px;bottom:-50px;left:-50px;animation-delay:-5s}.shape-3{width:200px;height:200px;top:50%;left:50%;transform:translate(-50%,-50%);animation-delay:-10s}@keyframes shapeFloat{0%,to{transform:translate(0) scale(1)}25%{transform:translate(20px,-20px) scale(1.05)}50%{transform:translate(-10px,20px) scale(.95)}75%{transform:translate(-20px,-10px) scale(1.02)}}.login-card{width:720px;max-width:calc(100% - 48px);background:#fffffffa;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:24px;padding:48px;box-shadow:0 25px 80px #0003,0 0 0 1px #ffffff1a inset;animation:cardEnter .8s cubic-bezier(.34,1.56,.64,1)}@keyframes cardEnter{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.brand-section{text-align:center;margin-bottom:40px}.brand-logo{margin-bottom:16px;animation:logoFloat 4s ease-in-out infinite}@keyframes logoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.brand-title{font-size:28px;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 8px;letter-spacing:2px}.brand-subtitle{font-size:13px;color:#909399;margin:0;letter-spacing:1px;text-transform:uppercase}.login-content{display:flex;align-items:stretch;gap:0}.login-left,.login-right{flex:1;display:flex;flex-direction:column}.login-divider{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 32px}.divider-line{width:1px;flex:1;background:linear-gradient(to bottom,transparent,#e4e7ed,transparent)}.divider-text{padding:16px 0;color:#c0c4cc;font-size:12px}.section-title{display:flex;align-items:center;justify-content:center;gap:8px;font-size:15px;font-weight:600;color:#303133;margin-bottom:24px}.section-title .el-icon{font-size:18px;color:#667eea}.section-title .wechat-icon{width:20px;height:20px}.qr-container{display:flex;flex-direction:column;align-items:center;flex:1}.qr-wrapper{position:relative;width:180px;height:180px;border:2px solid #e4e7ed;border-radius:16px;padding:12px;background:#fff;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.qr-wrapper:hover{border-color:#07c160;box-shadow:0 8px 24px #07c16026}.qr-code{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.qr-code img,.qr-code canvas{border-radius:8px;max-width:100%;max-height:100%}.qr-overlay{position:absolute;top:12px;left:12px;right:12px;bottom:12px;background:#fffffff2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#909399;border-radius:8px;transition:all .3s ease}.qr-overlay.qr-expired{cursor:pointer}.qr-overlay.qr-expired:hover{background:#667eea0d;color:#667eea}.qr-overlay span{font-size:13px}.qr-tip{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:16px;font-size:13px;color:#606266}.qr-time{background:linear-gradient(135deg,#07c160,#09bb07);color:#fff;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:500}.login-form{flex:1;display:flex;flex-direction:column}.form-item{margin-bottom:20px}.form-item.has-error .input-wrapper{border-color:#f56c6c;box-shadow:0 0 0 3px #f56c6c1a}.input-wrapper{display:flex;align-items:center;height:48px;padding:0 16px;border:2px solid #e4e7ed;border-radius:12px;background:#fff;transition:all .3s ease}.input-wrapper:hover{border-color:#c0c4cc}.input-wrapper:focus-within{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.input-wrapper .input-icon{color:#909399;font-size:18px;margin-right:12px;transition:color .3s ease}.input-wrapper:focus-within .input-icon{color:#667eea}.input-wrapper input{flex:1;height:100%;border:none;outline:none;font-size:15px;color:#303133;background:transparent}.input-wrapper input::placeholder{color:#c0c4cc}.toggle-pwd{color:#909399;font-size:18px;cursor:pointer;padding:4px;transition:color .3s ease}.toggle-pwd:hover{color:#667eea}.error-msg{display:block;margin-top:6px;font-size:12px;color:#f56c6c;padding-left:4px}.login-btn{width:100%;height:48px;margin-top:24px;padding:0;display:flex;align-items:center;justify-content:center;gap:8px;font-size:16px;font-weight:600;letter-spacing:4px;color:#fff;border:none;border-radius:12px;background:linear-gradient(135deg,#667eea,#764ba2);cursor:pointer;transition:all .3s ease}.login-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 30px #667eea66}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{opacity:.7;cursor:not-allowed}.login-footer{margin-top:40px;padding-top:24px;border-top:1px solid #ebeef5;text-align:center;font-size:12px;color:#c0c4cc}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-6px)}20%,40%,60%,80%{transform:translate(6px)}}.login-card.shake{animation:shake .5s ease-in-out}@media (max-width: 768px){.login-card{width:420px;padding:36px}.login-content{flex-direction:column;gap:32px}.login-divider{flex-direction:row;padding:0}.divider-line{width:auto;height:1px;flex:1;background:linear-gradient(to right,transparent,#e4e7ed,transparent)}.divider-text{padding:0 16px}.brand-title{font-size:24px}}@media (max-width: 480px){.login-page{padding:16px}.login-card{padding:28px 24px;border-radius:20px}.brand-logo svg{width:48px;height:48px}.brand-title{font-size:22px}.qr-wrapper{width:160px;height:160px}.input-wrapper,.login-btn{height:44px}}.login-links{margin-top:20px;display:flex;justify-content:space-between;font-size:14px;color:#606266}.register-link,.forgot-link{text-align:center}.register-link a{color:#667eea;text-decoration:none;font-weight:500;margin-left:4px;transition:color .2s}.register-link a:hover,.forgot-link a:hover{color:#764ba2;text-decoration:underline}.forgot-link a{color:#667eea;text-decoration:none;font-weight:500;margin-left:4px;transition:color .2s}.register-card .login-content{display:block}.register-content{max-width:320px;margin:0 auto}.register-card .login-form{margin-top:16px}.register-notice{display:flex;align-items:center;gap:8px;padding:12px 16px;background:linear-gradient(135deg,#fff3e0,#ffe0b2);border-radius:8px;color:#e65100;font-size:14px;font-weight:500;margin-bottom:8px}.register-notice .el-icon{font-size:18px;flex-shrink:0}.qr-section{text-align:center;padding:20px 0}.qr-title{font-size:18px;font-weight:600;color:#333;margin-bottom:8px}.qr-subtitle{font-size:14px;color:#666;margin-bottom:20px}.qr-box{display:flex;justify-content:center;margin-bottom:16px}.qr-box img{width:200px;height:200px;border-radius:8px;border:1px solid #eee}.qr-timer{font-size:14px;color:#999;margin-bottom:8px}.qr-user{font-size:14px;color:#666}.qr-user strong{color:#667eea}.success-section{text-align:center;padding:40px 0}.success-icon{font-size:64px;color:#67c23a;margin-bottom:16px}.success-section h2{font-size:24px;color:#333;margin-bottom:8px}.success-section p{font-size:14px;color:#666}.login-btn.secondary{background:#f5f5f5;color:#666}.login-btn.secondary:hover{background:#e8e8e8}.register-success-layout{max-width:600px!important}.register-success-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding:20px 0}.register-success-left{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;border-right:1px solid #eee}.register-success-left .success-section{padding:20px 0}.register-success-left .success-section h2{font-size:20px;margin-bottom:12px}.register-success-left .success-user{font-size:14px;color:#666;margin-bottom:8px}.register-success-left .success-user strong{color:#667eea}.register-success-left .success-hint{display:flex;align-items:center;gap:4px;font-size:14px;color:#67c23a}.register-success-left .login-btn{width:100%;max-width:200px;margin-bottom:12px}.skip-link{font-size:13px;color:#999;text-decoration:none;transition:color .2s}.skip-link:hover{color:#667eea}.register-success-right{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px}.register-success-right .qr-section{padding:10px 0}.register-success-right .qr-title{font-size:16px}.register-success-right .qr-box img{width:160px;height:160px}.register-success-right.qr-expired{color:#999;text-align:center}.qr-expired-text{font-size:16px;margin-bottom:8px}.qr-expired-hint{font-size:13px}.register-success-right.wechat-bound .bound-success{text-align:center;color:#67c23a}.bound-success .bound-icon{font-size:48px;margin-bottom:12px}.bound-success p{font-size:16px;font-weight:500}@media (max-width: 600px){.register-success-grid{grid-template-columns:1fr;gap:24px}.register-success-left{border-right:none;border-bottom:1px solid #eee;padding-bottom:24px}}.admin-container{min-height:100vh;background:var(--bg)}.admin-header{display:flex;align-items:center;justify-content:space-between;background:var(--card);padding:16px 24px;box-shadow:0 2px 12px #00000014;position:sticky;top:0;z-index:100}.admin-header .header-left{display:flex;align-items:center;gap:12px}.admin-header .back-btn{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:14px;padding:8px 12px;border-radius:8px;transition:all .3s}.admin-header .back-btn:hover{color:var(--primary);background:#667eea14}.admin-header .brand-logo{display:flex;align-items:center}.admin-header .admin-title{margin:0;font-size:18px;font-weight:700;background:linear-gradient(135deg,var(--primary),var(--secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.admin-header .header-right{display:flex;align-items:center;gap:10px}.admin-header .user-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13px}.admin-header .username{font-weight:600;color:var(--text)}.admin-content{padding:24px;max-width:1400px;margin:0 auto}.admin-content .el-tabs__header{background:var(--card);padding:0 20px;border-radius:12px;margin-bottom:20px;box-shadow:0 2px 8px #0000000a}.admin-content .el-tabs__nav-wrap:after{height:1px;background:var(--border)}.admin-content .el-tabs__item{font-size:14px;font-weight:500;padding:0 24px;height:50px;line-height:50px}.admin-content .el-tabs__item.is-active{color:var(--primary)}.admin-content .el-tabs__active-bar{background:linear-gradient(90deg,var(--primary),var(--secondary));height:3px;border-radius:3px}.tab-content .toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:20px;background:var(--card);padding:16px 20px;border-radius:12px;box-shadow:0 2px 8px #0000000a}.toolbar-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.toolbar .el-input__wrapper,.toolbar .el-button{border-radius:8px}.toolbar .el-button--primary{background:linear-gradient(135deg,var(--primary),var(--secondary));border:none}.toolbar .el-divider--vertical{height:24px;margin:0 8px;opacity:.4}.admin-summary-container{background:var(--card);padding:20px;border-radius:12px;box-shadow:0 2px 12px #0000000f;margin-bottom:20px}.admin-summary-container .summary-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin:0}.admin-summary-container .summary-card{background:linear-gradient(135deg,#667eea0d,#764ba208);border-radius:12px;padding:16px;text-align:center}.admin-summary-container .summary-card .card-title{font-size:13px;color:var(--muted);margin-bottom:6px;display:flex;align-items:center;justify-content:center;gap:6px}.admin-summary-container .summary-card .card-icon{width:16px;height:16px;flex-shrink:0;opacity:.7}.admin-summary-container .summary-card .card-value{font-size:26px;font-weight:700;color:var(--text);line-height:1.2}.admin-summary-container .summary-card .card-sub{font-size:12px;color:var(--text-secondary);margin-top:6px}.admin-summary-container .summary-card .pay-value{color:var(--primary)}@media (max-width: 1200px){.admin-summary-container .summary-cards{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.admin-summary-container .summary-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.admin-summary-container .summary-cards{grid-template-columns:1fr}}.admin-stats-row{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:24px;background:var(--card);padding:20px;border-radius:12px;box-shadow:0 2px 8px #0000000a;overflow:hidden}.admin-stats-row .el-col{max-width:100%;flex:none}.admin-stat-card{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,#667eea0d,#764ba208);border-radius:10px;padding:16px;border:none;transition:all .3s ease;height:100%}.admin-stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014;background:linear-gradient(135deg,#667eea1a,#764ba20f)}.admin-stat-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.admin-stat-content{display:flex;flex-direction:column;gap:2px}.admin-stat-value{font-size:22px;font-weight:700;color:var(--text);line-height:1.2}.admin-stat-label{font-size:12px;color:var(--muted);white-space:nowrap}.admin-stat-users .admin-stat-icon{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.admin-stat-records .admin-stat-icon{background:linear-gradient(135deg,#67c23a,#85ce61);color:#fff}.admin-stat-hours .admin-stat-icon{background:linear-gradient(135deg,#e6a23c,#f0c78a);color:#fff}.admin-stat-meals .admin-stat-icon{background:linear-gradient(135deg,#909399,#b4b4b4);color:#fff}.card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.card-title{font-weight:600;font-size:16px;color:var(--text)}.tab-content .el-card{border-radius:12px;border:none;box-shadow:0 2px 12px #0000000f}.tab-content .el-card__body{padding:0}.tab-content .el-table{border-radius:12px}.tab-content .el-pagination{padding:16px;justify-content:flex-end;background:var(--card);border-top:1px solid var(--border);border-radius:0 0 12px 12px}.user-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.admin-content .el-button--text,.admin-content .el-button.is-link{padding:4px 8px}.log-item{padding:12px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px}.log-item:last-child{border-bottom:none}.log-item .log-time{color:var(--muted);font-size:12px;min-width:140px}.log-item .log-user{font-weight:500;color:var(--primary);min-width:100px}.log-item .log-action{flex:1}.chart-container{background:var(--card);border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000000a;margin-bottom:20px}.chart-container .chart-title{font-size:16px;font-weight:600;margin-bottom:16px;color:var(--text)}.admin-content .el-dialog{border-radius:16px}.admin-content .el-dialog__header{padding:20px 24px;border-bottom:1px solid var(--border)}.admin-content .el-dialog__body{padding:24px}.empty-state{text-align:center;padding:60px 20px;color:var(--muted)}.empty-state .empty-icon{font-size:48px;margin-bottom:16px}.empty-state .empty-text{font-size:14px}@media (max-width: 1200px){.admin-stats-row{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.admin-content{padding:16px}.tab-content .toolbar{flex-direction:column;align-items:stretch}.toolbar-right{justify-content:flex-start}.admin-stats-row{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.admin-stats-row{grid-template-columns:1fr;padding:16px}}.analysis-view{min-height:100vh;background:var(--bg)}.analysis-header{display:flex;align-items:center;justify-content:space-between;background:var(--card);padding:16px 24px;box-shadow:0 2px 12px #00000014;position:sticky;top:0;z-index:100}.analysis-header .header-left{display:flex;align-items:center;gap:16px}.analysis-header h2{margin:0;font-size:18px;font-weight:600;color:var(--text)}.analysis-header .header-right{display:flex;align-items:center;gap:8px}.analysis-header .current-month{font-size:16px;font-weight:600;color:var(--text);min-width:100px;text-align:center}.analysis-main{padding:20px 24px}.summary-section{margin-bottom:24px}.summary-cards{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}@media (max-width: 1200px){.summary-cards{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.summary-cards{grid-template-columns:repeat(2,1fr)}}.summary-card{background:var(--card);border-radius:12px;padding:20px;box-shadow:0 2px 12px #0000000a;transition:all .3s ease}.summary-card:hover{transform:translateY(-2px);box-shadow:0 4px 20px #00000014}.summary-card .card-title{font-size:13px;color:var(--muted);margin-bottom:8px}.summary-card .card-value{font-size:28px;font-weight:700;color:var(--text);line-height:1.2}.summary-card .card-value.is-up{color:var(--danger)}.summary-card .card-value.is-down{color:var(--success)}.summary-card .card-sub{font-size:12px;color:var(--text-secondary);margin-top:8px}.summary-card .card-sub .workday{color:var(--primary);margin-right:8px}.summary-card .card-sub .holiday{color:var(--warning)}.content-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:20px}@media (max-width: 1200px){.content-grid{grid-template-columns:1fr}}.calendar-section{grid-column:1;grid-row:1 / 3;background:var(--card);border-radius:12px;padding:20px;box-shadow:0 2px 12px #0000000a}@media (max-width: 1200px){.calendar-section{grid-column:1;grid-row:auto}}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.section-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text)}.legend{display:flex;gap:12px;font-size:12px;color:var(--muted)}.legend-item{display:flex;align-items:center;gap:4px}.legend-item .dot{width:10px;height:10px;border-radius:50%}.legend-item .dot.low{background:var(--success)}.legend-item .dot.medium{background:var(--warning)}.legend-item .dot.high{background:var(--danger)}.legend-item .dot.meal{background:transparent;border:2px solid var(--primary)}.calendar-grid{border:1px solid var(--border);border-radius:8px;overflow:hidden}.calendar-header{display:grid;grid-template-columns:repeat(7,1fr);background:linear-gradient(135deg,#667eea14,#764ba20d)}.calendar-header span{padding:12px;text-align:center;font-size:13px;font-weight:600;color:var(--text-secondary)}.calendar-body{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-cell{position:relative;min-height:80px;padding:8px;border-top:1px solid var(--border);border-right:1px solid var(--border);cursor:pointer;transition:all .2s ease}.calendar-cell:nth-child(7n){border-right:none}.calendar-cell:hover:not(.empty){background:#667eea0d}.calendar-cell.empty{background:#fafafa;cursor:default}.calendar-cell.is-today{background:#667eea1a}.calendar-cell.is-today .cell-date{background:var(--primary);color:#fff;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.calendar-cell.is-selected{background:#667eea26;box-shadow:inset 0 0 0 2px var(--primary)}.calendar-cell.is-holiday .cell-date,.calendar-cell.is-weekend .cell-date{color:var(--danger)}.cell-date{font-size:14px;font-weight:500;color:var(--text);margin-bottom:4px}.cell-hours{font-size:13px;font-weight:600;padding:2px 6px;border-radius:4px;display:inline-block}.calendar-cell.overtime-low .cell-hours{background:#67c23a26;color:var(--success)}.calendar-cell.overtime-medium .cell-hours{background:#e6a23c26;color:var(--warning)}.calendar-cell.overtime-high .cell-hours{background:#f56c6c26;color:var(--danger)}.cell-meal{position:absolute;top:4px;right:4px;font-size:12px}.calendar-footer{margin-top:16px;padding:12px;background:linear-gradient(135deg,#667eea0d,#764ba208);border-radius:8px;font-size:13px;color:var(--text-secondary);text-align:center}.chart-section{background:var(--card);border-radius:12px;padding:20px;box-shadow:0 2px 12px #0000000a}.chart-container{height:250px}.trend-section{grid-column:2;grid-row:1}.type-section{grid-column:2;grid-row:2}.period-section{grid-column:1 / 3;grid-row:3}@media (max-width: 1200px){.trend-section,.type-section,.period-section{grid-column:1;grid-row:auto}}.detail-summary{background:linear-gradient(135deg,#667eea0d,#764ba208);border-radius:8px;padding:16px;margin-bottom:16px}.detail-row{display:flex;align-items:center;margin-bottom:8px}.detail-row:last-child{margin-bottom:0}.detail-row .label{color:var(--muted);font-size:13px;min-width:80px}.detail-row .value{font-weight:600;color:var(--text)}.detail-records{max-height:calc(100vh - 350px);overflow-y:auto}.record-item{background:#fafafa;border-radius:8px;padding:12px;margin-bottom:12px}.record-item:last-child{margin-bottom:0}.record-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.record-time{font-weight:600;color:var(--text)}.record-hours{background:var(--primary);color:#fff;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:600}.record-info{font-size:13px;color:var(--text-secondary);margin-bottom:4px}.record-reason{font-size:12px;color:var(--muted);margin-bottom:4px}.record-meal{font-size:12px;color:var(--warning)}.record-item-clickable{cursor:pointer;transition:all .2s ease}.record-item-clickable:hover{background:linear-gradient(135deg,#667eea1a,#764ba20d);transform:translate(4px)}.record-item-clickable:active{transform:translate(2px)}
