#app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;color:#2c3e50}nav{padding:30px}nav a{font-weight:700;color:#2c3e50}nav a.router-link-exact-active{color:#42b983}:root{--primary-color:#409eff;--primary-light:#ecf5ff;--success-color:#67c23a;--warning-color:#e6a23c;--danger-color:#f56c6c;--info-color:#909399;--text-primary:#303133;--text-regular:#606266;--text-secondary:#909399;--border-color:#dcdfe6;--background-color:#f5f7fa}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.5;color:var(--text-primary);background-color:var(--background-color)}.container{width:100%;padding:20px;margin:0 auto}.card{background:#fff;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);padding:20px}.btn,.card{border-radius:4px}.btn{display:inline-block;padding:8px 16px;border:none;cursor:pointer;font-size:14px;transition:all .3s}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover{background-color:#0d84ff}.btn-success{background-color:var(--success-color);color:#fff}.btn-success:hover{background-color:#529b2e}.table{width:100%;border-collapse:collapse}.table td,.table th{padding:12px;text-align:left;border-bottom:1px solid var(--border-color)}.table th{background-color:var(--primary-light);color:var(--text-primary);font-weight:500}.table tr:nth-child(2n){background-color:#fafafa}@media(max-width:768px){.container{padding:10px}.table td,.table th{padding:8px}}.flex-center{justify-content:center}.flex-between,.flex-center{display:flex;align-items:center}.flex-between{justify-content:space-between}.flex-column{display:flex;flex-direction:column}.text-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media screen and (max-width:768px){html{font-size:12px}}:root{--el-color-primary:var(--primary-color);--el-color-success:var(--success-color);--el-color-warning:var(--warning-color);--el-color-danger:var(--danger-color);--el-font-size-base:14px;--el-border-radius-base:4px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.unified-table-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(64,158,255,.06);padding-bottom:18px;margin-bottom:20px}.unified-table-card .unified-table-header{background:#409eff;color:#fff;font-size:18px;font-weight:700;border-radius:12px 12px 0 0;padding:14px 24px;display:flex;justify-content:space-between;align-items:center}.unified-table-card .unified-table-header .header-center{flex:1;text-align:center}.unified-table-card .unified-table-header .header-center .filter-stats{font-size:14px;font-weight:400;opacity:.9}.unified-table-card .unified-table-header .header-center .filter-stats .active-filters-indicator{color:#ffe066;font-weight:700}.unified-table-card .unified-table-header .header-right{display:flex;align-items:center}.unified-table-card .unified-table-header .header-right .selected-info{font-size:14px;color:#fff}.unified-table-card .unified-table-header .header-right .selected-info .btn-link{background:none;border:none;color:#fff;cursor:pointer;text-decoration:underline;margin-left:8px}.unified-table-card .unified-table-header .header-right .selected-info .btn-link:hover{opacity:.8}.unified-table-card .unified-table-header .header-right .status-select{background:#fff;color:#333;border:none;min-width:120px;padding:8px 12px;border-radius:6px;font-size:14px;font-weight:400}.unified-table{width:100%;border-collapse:collapse;margin-top:0;background:#fff}.unified-table td,.unified-table th{padding:14px 12px;text-align:center;border-bottom:1px solid #f0f0f0;font-size:14px;vertical-align:middle}.unified-table th{background:#f8f9fa;color:#495057;font-weight:600;border-bottom:2px solid #e9ecef}.unified-table tbody tr{transition:background-color .2s ease}.unified-table tbody tr:hover{background-color:#f8f9fa}.unified-table tbody tr:nth-child(2n){background-color:#fafbfc}.unified-table tbody tr:nth-child(2n):hover{background-color:#f0f2f5}.unified-table .action-cell{white-space:nowrap}.unified-table .action-cell .link{color:#409eff;margin-right:8px;cursor:pointer;text-decoration:none;padding:4px 8px;border-radius:4px;transition:all .2s ease}.unified-table .action-cell .link:hover{background-color:#ecf5ff;text-decoration:none}.unified-table .action-cell .link.link-danger{color:#f56c6c}.unified-table .action-cell .link.link-danger:hover{background-color:#fef0f0}.unified-table .action-cell .link.link-success{color:#67c23a}.unified-table .action-cell .link.link-success:hover{background-color:#f0f9ff}.unified-table .action-cell .link.link-warning{color:#e6a23c}.unified-table .action-cell .link.link-warning:hover{background-color:#fdf6ec}:deep(.unified-el-table) .el-table__header th{background-color:#f8f9fa!important;color:#495057!important;font-weight:600!important;height:50px!important;padding:16px 12px!important;font-size:14px!important;border-bottom:2px solid #e9ecef!important}:deep(.unified-el-table) .el-table__body tr{transition:background-color .2s ease}:deep(.unified-el-table) .el-table__body tr:hover{background-color:#f8f9fa!important}:deep(.unified-el-table) .el-table__body td{padding:16px 12px!important;vertical-align:middle!important;border-bottom:1px solid #f1f3f4!important;font-size:14px!important}:deep(.unified-el-table) .el-table--striped .el-table__body tr.el-table__row--striped td{background-color:#fafbfc!important}:deep(.unified-el-table) .el-table--striped .el-table__body tr.el-table__row--striped:hover td{background-color:#f0f2f5!important}.unified-status-badge{display:inline-block;border-radius:12px;padding:4px 12px;font-size:12px;font-weight:600;color:#fff;text-align:center;white-space:nowrap}.unified-status-badge.status-completed,.unified-status-badge.status-success,.unified-status-badge.status-treating{background:#67c23a}.unified-status-badge.status-active,.unified-status-badge.status-primary{background:#409eff}.unified-status-badge.status-pending,.unified-status-badge.status-unknown,.unified-status-badge.status-warning{background:#e6a23c}.unified-status-badge.status-danger,.unified-status-badge.status-failed,.unified-status-badge.status-inactive{background:#f56c6c}.unified-status-badge.status-info{background:#909399}.unified-status-badge.status-进行中{background:#67c23a}.unified-status-badge.status-已完成{background:#409eff}.unified-status-badge.status-已终止{background:#909399}.unified-status-badge.status-未完成{background:#f56c6c}.unified-status-badge.status-已打卡{background:#67c23a}.unified-status-badge.status-未打卡{background:#f56c6c}.unified-status-badge.status-迟到打卡{background:#e6a23c}.unified-type-tag{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;display:inline-block}.unified-type-tag.type-睡眠记录{background:#e6f7ff;color:#1890ff}.unified-type-tag.type-用药提醒{background:#f6ffed;color:#52c41a}.unified-type-tag.type-运动打卡{background:#fff7e6;color:#fa8c16}.unified-type-tag.type-心情记录{background:#fff0f6;color:#eb2f96}.unified-pagination{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:#f8fafc;border-top:1px solid #e2e8f0;margin-top:16px}.unified-pagination .pagination-info{font-size:13px;color:#64748b}.unified-pagination .pagination-controls{display:flex;align-items:center;gap:12px}.unified-pagination .pagination-controls .page-btn{padding:6px 12px;border:1px solid #d1d5db;background:#fff;border-radius:6px;font-size:12px;color:#374151;cursor:pointer;transition:all .2s ease}.unified-pagination .pagination-controls .page-btn:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.unified-pagination .pagination-controls .page-btn:disabled{opacity:.5;cursor:not-allowed}.unified-pagination .pagination-controls .page-info{font-size:13px;color:#6b7280;font-weight:500}.unified-filter-card{background:#fff;border-radius:8px;padding:20px 24px;margin-bottom:20px;box-shadow:0 1px 4px rgba(0,0,0,.05)}.unified-filter-card .filter-row{display:flex;gap:16px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.unified-filter-card .filter-row:last-child{margin-bottom:0}.unified-filter-card .action-row{display:flex;gap:12px;align-items:center;padding-top:16px;border-top:1px solid #f0f0f0}.unified-filter-card .input{padding:8px 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;outline:none;transition:border-color .3s;min-width:160px}.unified-filter-card .input:focus{border-color:#409eff;box-shadow:0 0 0 2px rgba(64,158,255,.1)}.unified-filter-card .input.date{min-width:140px}.unified-filter-card .input.small{width:80px;min-width:80px}.unified-filter-card .input.medium{width:120px;min-width:120px}.unified-filter-card .select{padding:8px 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;outline:none;background:#fff;cursor:pointer;min-width:120px}.unified-filter-card .select:focus{border-color:#409eff;box-shadow:0 0 0 2px rgba(64,158,255,.1)}.unified-filter-card .btn{padding:8px 16px;border-radius:6px;font-size:14px;border:none;cursor:pointer;transition:all .3s;font-weight:500}.unified-filter-card .btn.btn-primary{background:#409eff;color:#fff}.unified-filter-card .btn.btn-primary:hover{background:#66b1ff;transform:translateY(-1px);box-shadow:0 4px 8px rgba(64,158,255,.3)}.unified-filter-card .btn.btn-outline{background:#fff;color:#409eff;border:1px solid #409eff}.unified-filter-card .btn.btn-outline:hover{background:#409eff;color:#fff}.unified-filter-card .btn.btn-success{background:#67c23a;color:#fff}.unified-filter-card .btn.btn-success:hover{background:#85ce61}.unified-filter-card .btn.btn-danger{background:#f56c6c;color:#fff}.unified-filter-card .btn.btn-danger:hover{background:#f78989}.unified-filter-card .btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important;box-shadow:none!important}.unified-selected-hint{background-color:rgba(103,194,58,.1);padding:8px 16px;margin-bottom:16px;border-radius:4px;display:flex;justify-content:space-between;align-items:center;border-left:4px solid #67c23a}.unified-selected-hint .btn-link{background:none;border:none;color:#409eff;cursor:pointer;text-decoration:underline}.unified-selected-hint .btn-link:hover{opacity:.8}@media(max-width:768px){.unified-table-card .unified-table-header{flex-direction:column;gap:12px;text-align:center}.unified-table-card .unified-table-header .header-center{order:-1}.unified-filter-card .filter-row{flex-direction:column;align-items:stretch}.unified-filter-card .filter-row .input,.unified-filter-card .filter-row .select{min-width:auto;width:100%}.unified-table{font-size:13px}.unified-table td,.unified-table th{padding:10px 8px}.unified-pagination{flex-direction:column;gap:12px;text-align:center}}