/* 自定义样式 */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Microsoft YaHei', 'PingFang SC', 'Helvetica Neue', Arial, sans-serif;
}

/* 任务卡片样式 */
.task-card {
    @apply bg-white border border-gray-200 rounded-lg p-4 hover:shadow-md transition cursor-pointer;
}

.task-card:hover {
    @apply border-blue-300;
}

/* 优先级标签 */
.priority-p0 {
    @apply bg-red-100 text-red-800 border border-red-200;
}

.priority-p1 {
    @apply bg-orange-100 text-orange-800 border border-orange-200;
}

.priority-p2 {
    @apply bg-blue-100 text-blue-800 border border-blue-200;
}

.priority-p3 {
    @apply bg-gray-100 text-gray-800 border border-gray-200;
}

/* 状态标签 */
.status-pending {
    @apply bg-purple-100 text-purple-800;
}

.status-scheduled {
    @apply bg-blue-100 text-blue-800;
}

.status-in_progress {
    @apply bg-yellow-100 text-yellow-800;
}

.status-revision {
    @apply bg-orange-100 text-orange-800;
}

.status-review {
    @apply bg-cyan-100 text-cyan-800;
}

.status-paused {
    @apply bg-orange-100 text-orange-800;
}

.status-completed {
    @apply bg-green-100 text-green-800;
}

/* 美工卡片 */
.artist-card {
    @apply bg-white border border-gray-200 rounded-lg p-4 hover:shadow-md transition cursor-pointer;
}

.artist-card.selected {
    @apply border-blue-500 bg-blue-50;
}

.artist-card:hover {
    @apply border-blue-300;
}

/* 工作负载条 */
.workload-bar {
    @apply h-2 bg-gray-200 rounded-full overflow-hidden;
}

.workload-fill {
    @apply h-full rounded-full transition-all duration-300;
}

.workload-low {
    @apply bg-green-500;
}

.workload-medium {
    @apply bg-yellow-500;
}

.workload-high {
    @apply bg-red-500;
}

/* 日历网格 */
.calendar-day {
    @apply border border-gray-200 rounded-lg p-2 min-h-[120px];
}

.calendar-day.today {
    @apply border-blue-500 bg-blue-50;
}

.calendar-day-header {
    @apply text-sm font-medium text-gray-600 mb-2 pb-1 border-b border-gray-100;
}

/* 任务在日历中的样式 */
.calendar-task {
    @apply text-xs p-1.5 rounded mb-1 truncate cursor-pointer hover:opacity-80;
}

.calendar-task.p0 {
    @apply bg-red-500 text-white;
}

.calendar-task.p1 {
    @apply bg-orange-500 text-white;
}

.calendar-task.p2 {
    @apply bg-blue-500 text-white;
}

.calendar-task.p3 {
    @apply bg-gray-400 text-white;
}

/* 按钮样式 */
.btn-primary {
    @apply bg-blue-500 text-white px-4 py-2 rounded-lg hover:bg-blue-600 transition;
}

.btn-secondary {
    @apply bg-gray-200 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-300 transition;
}

.btn-success {
    @apply bg-green-500 text-white px-4 py-2 rounded-lg hover:bg-green-600 transition;
}

.btn-danger {
    @apply bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition;
}

.btn-warning {
    @apply bg-yellow-500 text-white px-4 py-2 rounded-lg hover:bg-yellow-600 transition;
}

/* 滚动条样式 */
::-webkit-scrollbar {
    width: 6px;
}

::-webkit-scrollbar-track {
    @apply bg-gray-100;
}

::-webkit-scrollbar-thumb {
    @apply bg-gray-300 rounded-full;
}

::-webkit-scrollbar-thumb:hover {
    @apply bg-gray-400;
}

/* 模态框动画 */
.modal-enter {
    animation: modalEnter 0.2s ease-out;
}

@keyframes modalEnter {
    from {
        opacity: 0;
        transform: scale(0.95);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* 通知铃铛动画 */
.bell-shake {
    animation: bellShake 0.5s ease-in-out;
}

@keyframes bellShake {
    0%, 100% { transform: rotate(0); }
    25% { transform: rotate(10deg); }
    50% { transform: rotate(-10deg); }
    75% { transform: rotate(5deg); }
}

/* 加载动画 */
.loading {
    @apply flex items-center justify-center p-8;
}

.loading::after {
    content: '';
    @apply w-8 h-8 border-4 border-blue-500 border-t-transparent rounded-full animate-spin;
}

/* 空状态 */
.empty-state {
    @apply text-center py-8 text-gray-500;
}

.empty-state i {
    @apply text-4xl mb-2 text-gray-300;
}

/* 排期组件 */
.schedule-day {
    @apply transition-all duration-200;
}

.schedule-day:hover {
    @apply shadow-sm;
}

/* 排期任务卡片 */
.schedule-task-card {
    @apply bg-white p-3 rounded border border-gray-100 transition-all;
}

.schedule-task-card:hover {
    @apply border-gray-200 shadow-sm;
}
