.btn {
    border-radius: 10px;
    font-weight: 600;
    transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.btn:hover {
    transform: translateY(-1px);
    filter: saturate(1.08);
}

.btn-primary {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border-color: #667eea;
    box-shadow: 0 5px 15px rgba(102, 126, 234, 0.4);
    color: #fff;
}

.btn-primary:hover,
.btn-primary:focus {
    background: linear-gradient(135deg, #5f74df 0%, #6c4396 100%);
    border-color: #5f74df;
    box-shadow: 0 5px 15px rgba(102, 126, 234, 0.4);
    color: #fff;
}

.btn-secondary {
    background: #6c757d;
    color: #fff;
    border-color: #6c757d;
}

.btn-secondary:hover,
.btn-secondary:focus {
    background: #5a6268;
    border-color: #5a6268;
    color: #fff;
}

.btn-add {
    color: #fff;
    background: linear-gradient(135deg, #16a34a 0%, #15803d 100%);
    border-color: #15803d;
    box-shadow: 0 6px 14px rgba(22, 163, 74, 0.28);
}

.btn-add:hover,
.btn-add:focus {
    color: #fff;
    background: linear-gradient(135deg, #15803d 0%, #166534 100%);
    border-color: #166534;
    box-shadow: 0 8px 18px rgba(21, 128, 61, 0.34);
}

.btn-divide {
    color: #fff;
    background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
    border-color: #1d4ed8;
    box-shadow: 0 6px 14px rgba(37, 99, 235, 0.28);
}

.btn-divide:hover,
.btn-divide:focus {
    color: #fff;
    background: linear-gradient(135deg, #1d4ed8 0%, #1e40af 100%);
    border-color: #1e40af;
    box-shadow: 0 8px 18px rgba(29, 78, 216, 0.34);
}

.btn-divide:disabled {
    color: #fff;
    background: #9ca3af;
    border-color: #9ca3af;
    box-shadow: none;
    opacity: 0.75;
}

.btn-save-list {
    color: #fff;
    background: linear-gradient(135deg, #06b6d4 0%, #0891b2 100%);
    border-color: #0891b2;
}

.btn-save-list:hover,
.btn-save-list:focus {
    color: #fff;
    background: linear-gradient(135deg, #0891b2 0%, #0e7490 100%);
    border-color: #0e7490;
    box-shadow: 0 6px 14px rgba(6, 182, 212, 0.32);
}

.btn-load-list {
    color: #fff;
    background: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%);
    border-color: #7c3aed;
}

.btn-load-list:hover,
.btn-load-list:focus {
    color: #fff;
    background: linear-gradient(135deg, #7c3aed 0%, #6d28d9 100%);
    border-color: #6d28d9;
    box-shadow: 0 6px 14px rgba(139, 92, 246, 0.32);
}

.btn-clear-all {
    color: #fff;
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
    border-color: #dc2626;
}

.btn-clear-all:hover,
.btn-clear-all:focus {
    color: #fff;
    background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%);
    border-color: #b91c1c;
    box-shadow: 0 6px 14px rgba(239, 68, 68, 0.3);
}

.btn-download-results {
    color: #fff;
    background: linear-gradient(135deg, #0ea5e9 0%, #0284c7 100%);
    border-color: #0284c7;
}

.btn-download-results:hover,
.btn-download-results:focus {
    color: #fff;
    background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%);
    border-color: #0369a1;
    box-shadow: 0 6px 14px rgba(14, 165, 233, 0.32);
}

.btn-edit-list {
    color: #fff;
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
    border-color: #d97706;
}

.btn-edit-list:hover,
.btn-edit-list:focus {
    color: #fff;
    background: linear-gradient(135deg, #d97706 0%, #b45309 100%);
    border-color: #b45309;
    box-shadow: 0 6px 14px rgba(245, 158, 11, 0.3);
}

.btn-start-over {
    color: #fff;
    background: linear-gradient(135deg, #64748b 0%, #475569 100%);
    border-color: #475569;
}

.btn-start-over:hover,
.btn-start-over:focus {
    color: #fff;
    background: linear-gradient(135deg, #475569 0%, #334155 100%);
    border-color: #334155;
    box-shadow: 0 6px 14px rgba(100, 116, 139, 0.3);
}

.btn-edit {
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.35);
    padding: 8px 16px;
    font-size: 0.95em;
    margin-left: 10px;
}

.btn-edit:hover {
    background: rgba(255, 255, 255, 0.32);
}

.btn-save-edit {
    background: rgba(16, 185, 129, 0.22);
    color: #fff;
    border: 1px solid rgba(16, 185, 129, 0.7);
    padding: 9px 18px;
}

.btn-save-edit:hover {
    background: rgba(16, 185, 129, 0.34);
}

.btn-cancel-edit {
    background: rgba(239, 68, 68, 0.2);
    color: #fff;
    border: 1px solid rgba(239, 68, 68, 0.7);
    padding: 9px 18px;
}

.btn-cancel-edit:hover {
    background: rgba(239, 68, 68, 0.34);
}

.btn-start {
    background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);
    color: #fff;
    font-size: 1.1em;
    padding: 14px 36px;
}

.btn-start:hover {
    box-shadow: 0 5px 15px rgba(34, 197, 94, 0.4);
}

.btn-start:disabled {
    background: #4b5563;
    transform: none;
    box-shadow: none;
    cursor: default;
}

.btn-cancel {
    background: linear-gradient(135deg, #ef4444 0%, #b91c1c 100%);
    color: #fff;
    font-size: 1em;
    padding: 14px 22px;
}

.btn-cancel:hover {
    box-shadow: 0 5px 15px rgba(239, 68, 68, 0.35);
}

.btn-cancel:disabled {
    background: #4b5563;
    transform: none;
    box-shadow: none;
    cursor: default;
}
